1.编写日期类, a.实现日期类“"运算符的重载。 b.实现日期类“++”运算符的重载。 要求给出完整的程序。
时间: 2024-03-11 07:47:09 浏览: 75
用c++编写的运算符重载程序
以下是一个简单的C++程序示例,实现了日期类的“+”和“++”运算符重载。
```c++
#include <iostream>
using namespace std;
class Date {
private:
int year;
int month;
int day;
public:
Date(int y, int m, int d) : year(y), month(m), day(d) {}
Date operator+(const int& days) {
Date result(year, month, day + days);
while (result.day > 31) {
result.day -= 31;
result.month++;
if (result.month > 12) {
result.month = 1;
result.year++;
}
}
return result;
}
Date operator++() {
day++;
while (day > 31) {
day -= 31;
month++;
if (month > 12) {
month = 1;
year++;
}
}
return *this;
}
void print() {
cout << year << "-" << month << "-" << day << endl;
}
};
int main() {
Date date(2022, 9, 30);
date.print(); // 2022-9-30
date = date + 3;
date.print(); // 2022-10-3
++date;
date.print(); // 2022-10-4
return 0;
}
```
这个程序中,日期类包含了年、月、日三个成员变量,并重载了“+”和“++”运算符。其中,“+”运算符将日期加上指定天数,并返回一个新的日期对象;“++”运算符将当前日期加上一天,返回当前日期对象的引用。
在主函数中,我们首先创建了一个日期对象,并输出了它的初始值。然后,我们使用“+”运算符将日期加上了3天,并输出了结果;接着,我们使用“++”运算符将日期加上了1天,并输出了最终结果。
阅读全文