编写一个程序,定义一个日期类,含year,month ,day三个整型数据成员,重载运算符==,该函数为成员函数,功能是判断两个日期对象是否相等。 主函数中测试该功能。
时间: 2024-02-05 14:12:22 浏览: 75
```cpp
#include <iostream>
using namespace std;
class Date {
private:
int year, month, day;
public:
Date(int y, int m, int d) : year(y), month(m), day(d) {}
bool operator==(const Date& other) const {
return year == other.year && month == other.month && day == other.day;
}
};
int main() {
Date d1(2021, 10, 1);
Date d2(2021, 10, 2);
Date d3(2021, 10, 1);
if (d1 == d2) {
cout << "d1 equals d2" << endl;
} else {
cout << "d1 not equals d2" << endl;
}
if (d1 == d3) {
cout << "d1 equals d3" << endl;
} else {
cout << "d1 not equals d3" << endl;
}
return 0;
}
```
相关问题
简答题 编写一个程序,定义一个日期类,含year,month ,day三个整型数据成员,重载运算符==,该函数为成员函数,功能是判断两个日期对象是否相等。 主函数中测试该功能。
好的,我明白了。下面是代码实现:
```cpp
#include <iostream>
using namespace std;
class Date {
private:
int year, month, day;
public:
Date(int y, int m, int d) : year(y), month(m), day(d) {}
bool operator==(const Date& other) {
return year == other.year && month == other.month && day == other.day;
}
};
int main() {
Date d1(2022, 7, 1);
Date d2(2022, 7, 1);
if (d1 == d2) {
cout << "d1 and d2 are equal\n";
} else {
cout << "d1 and d2 are not equal\n";
}
return 0;
}
```
这是一个简单的日期类,包含 year、month、day 三个成员变量。重载 `==` 运算符是一个成员函数,用于判断两个日期对象是否相等。在主函数中,创建两个日期对象并进行比较,输出结果。注意每个成员函数前加上类名,表示这个函数属于该类。
c++题目 编写一个程序,定义一个日期类,含year,month ,day三个整型数据成员,重载运算符==,该函数为非成员函数,功能是判断两个日期对象是否相等。 主函数中测试该功能。
以下是一个简单的实现:
```c++
#include <iostream>
class Date {
public:
Date(int y, int m, int d) : year(y), month(m), day(d) {}
int getYear() const { return year; }
int getMonth() const { return month; }
int getDay() const { return day; }
private:
int year;
int month;
int day;
};
bool operator==(const Date& lhs, const Date& rhs) {
return lhs.getYear() == rhs.getYear() &&
lhs.getMonth() == rhs.getMonth() &&
lhs.getDay() == rhs.getDay();
}
int main() {
Date d1(2021, 9, 1);
Date d2(2021, 9, 2);
Date d3(2021, 9, 1);
std::cout << std::boolalpha;
std::cout << "d1 == d2: " << (d1 == d2) << std::endl;
std::cout << "d1 == d3: " << (d1 == d3) << std::endl;
return 0;
}
```
输出结果:
```
d1 == d2: false
d1 == d3: true
```
在上面的代码中,我们定义了一个 `Date` 类表示日期,其中包含年、月、日三个整型数据成员。然后,我们重载了运算符 `==`,以便能够比较两个日期对象是否相等。最后,我们在主函数中测试了这个功能。
阅读全文