定义一个日期类Date,包含年、月、日三个数据成员,以及一个求第二天日期的成员函数和输出日期的成员函数。
发布人:shili8
发布时间:2024-11-16 11:09
阅读次数:0
**日期类Date**
================### 类定义
cppclass Date { private: int year; // 年份 int month; // 月份 int day; // 日期public: // 构造函数 Date(int y, int m, int d); // 求第二天日期的成员函数 void nextDay(); // 输出日期的成员函数 void printDate() const; // getter 和 setter 方法 int getYear() const; void setYear(int year); int getMonth() const; void setMonth(int month); int getDay() const; void setDay(int day); };
### 构造函数
cpp// 构造函数Date::Date(int y, int m, int d) { if (m < 1 || m >12) { throw std::invalid_argument("月份必须在1到12之间"); } if (d < 1 || d >31) { throw std::invalid_argument("日期必须在1到31之间"); } year = y; month = m; day = d; }
### 求第二天日期的成员函数
cpp// 求第二天日期的成员函数void Date::nextDay() { // 如果是2月份,需要判断是否为闰年 if (month ==2 && day ==29) { // 如果是闰年,则直接加一天 year++; month =3; day =1; } else if (day < 28) { // 如果不是2月份或日期小于28,直接加一天 day++; } else if (day ==28 && month !=2) { // 如果是2月份但不是闰年,则直接加一天 day =1; month++; } else { // 如果是12月份,则需要判断是否为闰年 if (month ==12 && day ==31) { // 如果是闰年,则直接加一天 year++; month =1; day =1; } else { // 如果不是12月份或日期小于31,直接加一天 day =1; month++; } } }
### 输出日期的成员函数
cpp// 输出日期的成员函数void Date::printDate() const { std::cout << "年:" << year << ", 月:" << month << ", 日:" << day << std::endl; }
### getter 和 setter 方法
cpp// getter 和 setter 方法int Date::getYear() const { return year; } void Date::setYear(int year) { this->year = year; } int Date::getMonth() const { return month; } void Date::setMonth(int month) { if (month < 1 || month >12) { throw std::invalid_argument("月份必须在1到12之间"); } this->month = month; } int Date::getDay() const { return day; } void Date::setDay(int day) { if (day < 1 || day >31) { throw std::invalid_argument("日期必须在1到31之间"); } this->day = day; }
### 示例代码
cppint main() { // 创建一个Date对象 Date date(2022,12,25); // 输出初始日期 date.printDate(); // 求第二天日期 date.nextDay(); // 输出第二天日期 date.printDate(); return0; }
### 结论在本文中,我们定义了一个`Date`类,包含年、月、日三个数据成员,以及一个求第二天日期的成员函数和输出日期的成员函数。我们还提供了getter 和 setter 方法,以便用户可以方便地获取或设置这些数据成员的值。通过示例代码,我们展示了如何使用这个类来创建一个`Date`对象,并使用其成员函数来求第二天日期和输出当前日期。