无法创建自己的日期类
Cannot create my own date class
我尝试创建自己的类,该类包含三个变量:日、月和年。我加了两个运算符来比较。这是我的头文件和cpp文件:
标题:
#ifndef DATE_H
#define DATE_H
#include "stdafx.h"
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <iterator>
#include <array>
using namespace std;
class Date {
public:
int day;
int month;
int year;
Date(int m, int d, int y);
bool operator< (const Date &) const;
bool operator== (const Date &) const;
}
#endif
CPP:
#include "stdafx.h"
#include "date.h"
Date::Date(int m, int d, int y)
:day(d),month(m),year(y){}
bool Date::operator< (const Date & d2) const
{
bool result;
if(year<d2.year){
result=true;
}
else if (year==d2.year&&month<d2.month){
result=true;
}
else if (month==d2.month&&day<d2.day){
result = true;
}
else{
result = false;
}
return result;
}
bool Date::operator== (const Date & d2) const
{
return (year==d2.year)&&(month==d2.month)&&(day==d2.day);
}
错误为
错误C2533:"日期::{ctor}":构造函数不允许返回类型
谢谢你的帮助!
类定义末尾缺少分号。
其他评论:
-
为了避免名称冲突(例如与
std::distance
),请不要在标头的全局命名空间中放置using namespace std;
。 -
<stdafx.h>
是在Visual Studio项目中定义的非标准头,它使代码依赖于Visual Studio。您可以通过关闭项目设置中的"预编译头"来避免这种情况。
类或结构的声明必须以";"结尾
相关文章:
- 没有为自己的结构调用列表推回方法
- 在他自己的方法中,有可能将一个对象取消引用到另一个对象吗
- 在c++中为我自己的基于指针的数组分配内存的正确方法
- C++从对象自己的类中删除对象
- 使用 std::optional,而不是自己的结构
- 子轴围绕父轴而不是他自己的轴旋转
- 这个C++编译器优化(在自身的实例上调用对象自己的构造函数)的名称是什么,它是如何工作的?
- C++ 如何为自己的迭代器类从迭代器转换为const_iterator?
- 重载 + 自己的类和 std::string 的运算符
- 类无法访问自己的私有静态 constexpr 方法 - Clang bug?
- 是否可以在不填充自己的参数的情况下将模板函数作为参数传递?
- 如何访问模板参数自己的模板参数?
- 将矩阵乘以我自己的输入的向量
- 您应该在什么时候创建自己的异常类型
- 派生类是从基类继承 v 指针并仅使用它,还是也有自己的 v 指针?
- string1 == string2 和你自己的 for 循环比较有什么区别?
- 如何找到两个日期之间的时间差异(以秒和纳秒为单位)?
- 如何正确包含我自己的标头?
- 自己的自定义向量类. 内存重新分配
- 无法创建自己的日期类