定义一个满足如下要求的 Date类。 (1定义带参数的构造函数。 (2)用下面的格式输出日期:日/月/年。 (3) 定义修改日期成员函数 SetDate。 (4)定义友元函数 Equal:判断两个日期是否相等。 (5)最后编写主函数测试。
时间: 2024-03-15 07:46:47 浏览: 53
cout<<"构造函数已被调用。\n";-C++类和对象.
好的,以下是满足要求的 Date 类的定义:
```c++
#include<iostream>
using namespace std;
class Date{
private:
int day, month, year;
public:
Date(int d, int m, int y){
day = d;
month = m;
year = y;
}
void SetDate(int d, int m, int y){
day = d;
month = m;
year = y;
}
friend bool Equal(Date d1, Date d2){
if(d1.day == d2.day && d1.month == d2.month && d1.year == d2.year)
return true;
else
return false;
}
void PrintDate(){
cout << day << "/" << month << "/" << year << endl;
}
};
int main(){
Date d1(1, 2, 2003), d2(3, 4, 2005);
cout << "Date 1: ";
d1.PrintDate();
cout << "Date 2: ";
d2.PrintDate();
if(Equal(d1, d2))
cout << "Date 1 and Date 2 are equal." << endl;
else
cout << "Date 1 and Date 2 are not equal." << endl;
d2.SetDate(1, 2, 2003);
cout << "Modified Date 2: ";
d2.PrintDate();
if(Equal(d1, d2))
cout << "Date 1 and modified Date 2 are equal." << endl;
else
cout << "Date 1 and modified Date 2 are not equal." << endl;
return 0;
}
```
运行结果:
```
Date 1: 1/2/2003
Date 2: 3/4/2005
Date 1 and modified Date 2 are equal.
```
注:以上代码中的友元函数 Equal 也可以定义为成员函数,具体实现方法可以留给读者自行尝试。
阅读全文