编写日期类, a.实现日期类“”运算符的重载。 b.实现日期类“++”运算符的重载。 要求给出完整的程序。
时间: 2024-03-11 17:50:46 浏览: 61
好的,下面是完整的程序:
```c++
#include <iostream>
using namespace std;
class Date {
private:
int year, month, day;
public:
Date(int y, int m, int d) {
year = y;
month = m;
day = d;
}
Date operator+(int n) {
Date d(year, month, day + n);
while (d.day > 31) {
d.month++;
d.day -= 31;
}
if (d.month > 12) {
d.year++;
d.month -= 12;
}
return d;
}
Date operator++() {
day++;
while (day > 31) {
month++;
day -= 31;
}
if (month > 12) {
year++;
month -= 12;
}
return *this;
}
void display() {
cout << year << "-" << month << "-" << day << endl;
}
};
int main() {
Date d1(2021, 1, 30);
Date d2 = d1 + 3;
d2.display();
++d2;
d2.display();
return 0;
}
```
在这个程序中,我们定义了一个日期类 `Date`,包含了年、月、日三个成员变量和加法运算符重载、前置自增运算符重载两个成员函数。其中:
- `operator+` 重载了加法运算符,实现了日期加上指定天数的功能,并返回一个新的日期对象。
- `operator++` 重载了前置自增运算符,实现了日期加一天的功能,并返回一个引用。
- `display` 函数用于输出日期。
在主函数中,我们测试了加法运算符重载和前置自增运算符重载的效果。
阅读全文