定义一个处理日期的类TDate,它有3个私有数据成员:Year,Month,Day和若干个公有成员函数,并实现如下要求::1.构造函数重载;2.成员函数设置缺省参数;设置日期的成员函数;3.定义一个友元函数来打印日期;4.可使用不同的构造函数来创建不同的对象
时间: 2024-03-18 22:39:29 浏览: 76
c++程序设计与面向对象,第三章类和对象
4星 · 用户满意度95%
好的,我来回答你的问题。
首先,下面是一个处理日期的类TDate的代码实现:
```C++
#include <iostream>
using namespace std;
class TDate {
private:
int Year, Month, Day;
public:
TDate(int y=0, int m=0, int d=0):Year(y), Month(m), Day(d) {}
void SetDate(int y, int m, int d) {
Year = y;
Month = m;
Day = d;
}
friend void PrintDate(TDate&);
};
void PrintDate(TDate& date) {
cout << date.Year << "-" << date.Month << "-" << date.Day << endl;
}
```
在这个类中,我们定义了3个私有数据成员`Year`、`Month`、`Day`,并且实现了一个构造函数重载,可以通过不同的构造函数创建不同的对象。`SetDate`函数用于设置日期的成员属性,可以设置缺省参数。`PrintDate`是一个友元函数,用于打印日期。
我们可以创建一个TDate对象,然后设置日期并打印,示例代码如下:
```C++
int main() {
TDate date1(2022, 11, 11); // 使用构造函数1创建对象
date1.SetDate(2022, 11, 11); // 设置日期
PrintDate(date1); // 打印日期
TDate date2; // 使用默认构造函数创建对象
date2.SetDate(2022, 11, 12); // 设置日期
PrintDate(date2); // 打印日期
TDate date3(2022); // 使用构造函数2创建对象
date3.SetDate(2022, 11, 13); // 设置日期
PrintDate(date3); // 打印日期
return 0;
}
```
输出结果如下:
```
2022-11-11
2022-11-12
2022-11-13
```
希望这个例子可以帮助你了解如何定义和使用一个处理日期的类。
阅读全文