用c++定义 个满足如下要求的 Date类;定义带参数的构适函数显示输出日期函数格式为:日月年,修改日期区数stDate,友元函数Egmal判断两个日期是否相等,最后编写主函数测试
时间: 2024-03-15 14:47:58 浏览: 122
好的,以下是代码实现:
```c++
#include <iostream>
using namespace std;
class Date {
private:
int year, month, day;
public:
Date(int y = 0, int m = 0, int d = 0) {
year = y;
month = m;
day = d;
}
void display() {
cout << day << " " << month << " " << year << endl;
}
friend bool Egmal(const Date& d1, const Date& d2);
friend void modifyDate(Date& d, int y, int m, int d);
};
bool Egmal(const Date& d1, const Date& d2) {
if (d1.year == d2.year && d1.month == d2.month && d1.day == d2.day)
return true;
else
return false;
}
void modifyDate(Date& d, int y, int m, int day) {
d.year = y;
d.month = m;
d.day = day;
}
int main() {
Date d1(2022, 10, 15);
Date d2(2022, 10, 15);
Date d3(2022, 10, 16);
d1.display(); // 15 10 2022
if (Egmal(d1, d2))
cout << "d1 and d2 are equal" << endl;
else
cout << "d1 and d2 are not equal" << endl;
if (Egmal(d1, d3))
cout << "d1 and d3 are equal" << endl;
else
cout << "d1 and d3 are not equal" << endl;
modifyDate(d1, 2023, 1, 1);
d1.display(); // 1 1 2023
return 0;
}
```
该程序定义了一个名为 `Date` 的类,该类有三个私有成员变量:`year`、`month` 和 `day`。该类还包含一个构造函数和一个显示日期的函数 `display()`。此外,该程序还定义了一个友元函数 `Egmal()` 用于比较两个日期是否相等,并且还定义了一个友元函数 `modifyDate()` 用于修改日期。在主函数中,我们创建了三个日期对象 `d1`、`d2` 和 `d3`,并分别对其进行测试。
阅读全文