定义一个满足下列要求的Date类: ①用下面的格式输出日期:日/月/年 ②可运行在日期上加一天操作 ③设置日期(用C++)
时间: 2024-03-23 08:36:35 浏览: 180
好的,下面是符合要求的Date类的定义:
```cpp
#include <iostream>
using namespace std;
class Date {
private:
int day, month, year;
public:
Date(int d, int m, int y) : day(d), month(m), year(y) {}
void printDate() {
cout << day << "/" << month << "/" << year << endl;
}
void addOneDay() {
int daysInMonth[] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
if (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)) {
daysInMonth[1]++;
}
day++;
if (day > daysInMonth[month - 1]) {
day = 1;
month++;
if (month > 12) {
month = 1;
year++;
}
}
}
void setDate(int d, int m, int y) {
day = d;
month = m;
year = y;
}
};
```
其中,构造函数用于初始化日期,printDate函数用于输出日期,addOneDay函数用于将日期加一天,setDate函数用于设置日期。在addOneDay函数中,我们需要考虑闰年的情况,因为闰年的二月份有29天。
可以使用以下代码来测试Date类的功能:
```cpp
int main() {
Date date(30, 12, 2021);
date.printDate();
date.addOneDay();
date.printDate();
date.setDate(1, 1, 2022);
date.printDate();
return 0;
}
```
输出应该为:
```
30/12/2021
31/12/2021
1/1/2022
```
阅读全文