当前位置:实例文章 » 其他实例» [文章]定义一个日期类Date,包含年、月、日三个数据成员,以及一个求第二天日期的成员函数和输出日期的成员函数。

定义一个日期类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`对象,并使用其成员函数来求第二天日期和输出当前日期。

相关标签:算法c++开发语言
其他信息

其他资源

Top