定义一个处理日期的类TDate,它有3个私有数据成员:Year,Month,Day和若干个公有成员函数,并实现如下要求:①构造函数重载;②成员函数设置缺省参数;设置日期的成员函数;③定义一个友元函数来打印日期;④可使用不同的构造函数来创建不同的对象。
时间: 2024-03-22 21:42:15 浏览: 101
好的,以下是一个处理日期的类TDate的实现:
```c++
#include <iostream>
using namespace std;
class TDate {
private:
int Year, Month, Day;
public:
// 无参构造函数
TDate() {
Year = 1900;
Month = 1;
Day = 1;
}
// 有参构造函数
TDate(int year, int month, int day) {
Year = year;
Month = month;
Day = day;
}
// 成员函数设置缺省参数,设置日期
void setDate(int year = 1900, int month = 1, int day = 1) {
Year = year;
Month = month;
Day = day;
}
// 友元函数打印日期
friend void printDate(TDate date) {
cout << date.Year << "-" << date.Month << "-" << date.Day << endl;
}
};
int main() {
// 使用无参构造函数创建对象
TDate date1;
printDate(date1); // 输出:1900-1-1
// 使用有参构造函数创建对象
TDate date2(2022, 7, 1);
printDate(date2); // 输出:2022-7-1
// 使用成员函数设置日期
TDate date3;
date3.setDate(2022, 7, 1);
printDate(date3); // 输出:2022-7-1
// 使用成员函数设置日期,缺省参数
TDate date4;
date4.setDate();
printDate(date4); // 输出:1900-1-1
return 0;
}
```
这个处理日期的类TDate有3个私有数据成员Year、Month、Day,以及若干个公有成员函数和一个友元函数。其中,构造函数重载包括无参构造函数和有参构造函数。成员函数setDate可以设置日期,并且有缺省参数。友元函数printDate可以打印日期。
在主函数中,我们演示了如何使用不同的构造函数和成员函数来创建不同的对象,并且调用printDate函数打印日期。
阅读全文