定义一个处理日期的类TDate,它有3个私有数据成员:Year,Month,Day和若干个公有成员函数,并实现如下要求:①构造函数重载;②成员函数设置缺省参数;设置日期的成员函数;③定义一个友元函数来打印日期;④可使用不同的构造函数来创建不同的对象。 用c++解决
时间: 2024-03-22 17:42:34 浏览: 69
好的,以下是一个处理日期的类TDate的实现:
```c++
#include<iostream>
using namespace std;
class TDate {
private:
int Year;
int Month;
int Day;
public:
TDate(int year = 1970, int month = 1, int day = 1); // 构造函数重载
void SetDate(int year, int month, int day); // 设置日期的成员函数
friend void PrintDate(TDate date); // 友元函数
};
TDate::TDate(int year, int month, int day) {
Year = year;
Month = month;
Day = day;
}
void TDate::SetDate(int year, int month, int day) {
Year = year;
Month = month;
Day = day;
}
void PrintDate(TDate date) {
cout << date.Year << "-" << date.Month << "-" << date.Day << endl;
}
int main() {
TDate date1(2021, 9, 1);
TDate date2;
date2.SetDate(2022, 1, 1);
PrintDate(date1);
PrintDate(date2);
return 0;
}
```
在上面的代码中,我们定义了一个TDate类,它有三个私有数据成员:Year、Month和Day。我们实现了构造函数重载和设置日期的成员函数,并且定义了一个友元函数PrintDate来打印日期。
我们可以使用不同的构造函数来创建不同的对象,如上面的例子所示。当我们创建date1对象时,我们使用了带有三个参数的构造函数来初始化对象的数据成员;而当我们创建date2对象时,我们首先使用默认构造函数创建对象,然后再使用SetDate函数来设置对象的数据成员。
最后,我们使用PrintDate函数来打印日期。需要注意的是,PrintDate函数是一个友元函数,它可以访问TDate类的私有数据成员。
阅读全文