用C++写代码:定义一个满足如下要求的 Date类 (1)用下面的格式输出日期:日/月/年(2)可运行在日期上加一天操作; (3)设置日期。
时间: 2023-06-24 14:05:07 浏览: 159
下面是实现上述要求的 Date 类的示例代码:
```cpp
#include <iostream>
class Date {
public:
Date(int year, int month, int day)
: year_(year), month_(month), day_(day) {}
void SetDate(int year, int month, int day) {
year_ = year;
month_ = month;
day_ = day;
}
void Print() const {
std::cout << day_ << '/' << month_ << '/' << year_ << '\n';
}
void AddDay(int num) {
day_ += num;
while (day_ > DaysInMonth(year_, month_)) {
day_ -= DaysInMonth(year_, month_);
++month_;
if (month_ > 12) {
month_ = 1;
++year_;
}
}
}
private:
int year_;
int month_;
int day_;
bool IsLeapYear() const {
return (year_ % 4 == 0 && year_ % 100 != 0) || (year_ % 400 == 0);
}
int DaysInMonth(int year, int month) const {
if (month == 2) {
return IsLeapYear() ? 29 : 28;
} else if (month == 4 || month == 6 || month == 9 || month == 11) {
return 30;
} else {
return 31;
}
}
};
int main() {
Date date(2022, 10, 31);
date.Print();
date.AddDay(1);
date.Print();
date.SetDate(2022, 1, 1);
date.Print();
return 0;
}
```
在上述代码中,我们定义了一个 `Date` 类,并在构造函数中初始化年月日。通过 `SetDate` 函数可以修改日期。`Print` 函数用于以指定的格式输出日期。`AddDay` 函数用于对日期进行加一天操作,如果加一天后月份或者年份发生了变化,则需要调整月份或者年份,并且需要处理闰年的情况。在 `main` 函数中,我们演示了如何使用 `Date` 类。
阅读全文