#include<iostream>
using namespace std;
class Date {
private:
int year;
int month;
int day;
public:
Date(int, int, int);//构造函数
void addOneDay();
~Date();//析构函数
bool isLeapYear();
};
Date::Date(int y, int m, int d) {
year = y;
month = m;
day = d;
}
Date::~Date() {
cout << year << "年" << month << "月" << day << "日" << endl;
}
// 1、3、5、7、8、10、12月有31天,
// 4、6、9、11月有30天;
// 平年的2月有28天,闰年的2月有29天。
bool Date::isLeapYear() {
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
return true;
}
else
return false;
}
void Date::addOneDay() {
int monthday[] = { 31,28,31,30,31,30,31,31,30,31,30,31 };//将每个月的天数放在数组里面
if (true == isLeapYear()) {//如果是闰年则把二月的天数改为29天
monthday[1] = 29;
}
day = day + 1;//进行日期加一天
if (day > monthday[month - 1]) {
day = 1;//如果加一天后超出了该月份的天数,则为下一个月
month = month + 1;
if (month > 12) {//如果月份加一天后超出了12个月,则为下一年
month = 1;
year = year + 1;
}
}
}
int main() {
int year;
int month;
int day;
cout << "please enter year,month and day:" << endl;
cin >> year;
cin >> month;
cin >> day;
Date s = Date::Date(year, month, day);
s.addOneDay();
//s.~Date();//会自动调用
return 0;
}
创建一个名为Date(日期的类,包括了数据成员的3部分信息:月(类型int)、日(类型int)、年(类型int),实现日期加一天的操作
最新推荐文章于 2023-08-22 10:18:47 发布