C++实现一个日期类,日期类具有设置日期、输出日期、判断年份是不是闰年等功能。
时间: 2024-12-14 08:24:10 浏览: 2
在C++中,我们可以创建一个简单的日期类Date来实现这些功能。这里是一个基础版本的示例:
```cpp
#include <iostream>
#include <ctime>
class Date {
public:
// 构造函数,初始化日期为当前系统时间
Date() : year(1970), month(1), day(1) {
std::time_t now = std::time(nullptr);
std::tm* timeinfo = std::localtime(&now);
year = timeinfo->tm_year + 1900;
month = timeinfo->tm_mon + 1;
day = timeinfo->tm_mday;
}
// 设置日期
void setDate(int y, int m, int d) {
if (m >= 1 && m <= 12) {
month = m;
day = d;
if (y > 0)
year = y;
else
year = 1970; // 或者设定最小支持年份
} else {
std::cerr << "Invalid month!" << std::endl;
}
}
// 输出日期
void displayDate() const {
std::cout << year << "-" << month << "-" << day << std::endl;
}
// 判断是否为闰年
bool isLeapYear() const {
if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
return true;
}
return false;
}
private:
int year;
int month;
int day;
};
int main() {
Date today;
today.displayDate();
Date customDate;
customDate.setDate(2024, 2, 29); // 如果是闰年
customDate.displayDate();
std::cout << "Is 2024 a leap year? " << (customDate.isLeapYear() ? "Yes" : "No") << std::endl;
return 0;
}
```
这个Date类包含了基本的构造函数、设置日期、显示日期以及判断闰年的功能。注意,由于C++标准库提供了解析和操作日期的时间处理函数,上述代码更倾向于作为教学示例而非生产环境的最佳实践。
阅读全文