函数题:日复一日 - C/C++ 类与抽象
设计符合下述要求的日期类(Date),使得下述代码可以正常运行。
1) 拥有数据成员year、month和day,分别存储年、月、日;
2) 构造函数接受年、月、日参数并初始化全部数据成员;
3) 公有成员函数toText()返回一个string对象,该字符串为该日期对象的文字表达,比如“2022-5-20”;
4) 公有成员函数nextDay()返回一个Date对象,表示该日期的后一天;
5) 公有成员函数prevDay()返回一个Date对象,表示该日期的前一天。
### 裁判测试程序样例:
c++
#include <iostream>
#include <string>
#include <assert.h>
using namespace std;
//请在此处定义Date类
int main()
{
int year=2000,month=1,day=1;
cin >> year >> month >> day;
Date d(year,month,day);
cout << "Date: " << d.toText() << ", Next Day: " << d.nextDay().toText()
<< ", Prev Day: " << d.prevDay().toText();
return 0;
}
### 输入样例:
in
2000 3 1
说明:依次是年-月-日。
### 输出样例:
out
Date: 2000-3-1, Next Day: 2000-3-2, Prev Day: 2000-2-29
提示:需要注意闰年,闰年2月有29天,平年28天。
闰年判定函数:
c++
bool isLeapYear(int year){
//四年一闰,百年不闰,四百年又闰
if (year%400==0)
return true;
else if (year%100==0)
return false;
else if (year%4==0)
return true;
else
return false;
}
请注意:函数题只需要提交相关代码片段,不要提交完整程序。
### 感觉不会? 那试着听听**免费的B站网课**
[简洁的C和C++ - 重庆大学在线课程](https://www.bilibili.com/video/BV1it411d7zx/)
[Python编程基础及应用 - 重庆大学在线课程](https://www.bilibili.com/video/BV1kt411R7uW/)

答案:若无答案欢迎评论
1) 拥有数据成员year、month和day,分别存储年、月、日;
2) 构造函数接受年、月、日参数并初始化全部数据成员;
3) 公有成员函数toText()返回一个string对象,该字符串为该日期对象的文字表达,比如“2022-5-20”;
4) 公有成员函数nextDay()返回一个Date对象,表示该日期的后一天;
5) 公有成员函数prevDay()返回一个Date对象,表示该日期的前一天。
### 裁判测试程序样例:
c++
#include <iostream>
#include <string>
#include <assert.h>
using namespace std;
//请在此处定义Date类
int main()
{
int year=2000,month=1,day=1;
cin >> year >> month >> day;
Date d(year,month,day);
cout << "Date: " << d.toText() << ", Next Day: " << d.nextDay().toText()
<< ", Prev Day: " << d.prevDay().toText();
return 0;
}
### 输入样例:
in
2000 3 1
说明:依次是年-月-日。
### 输出样例:
out
Date: 2000-3-1, Next Day: 2000-3-2, Prev Day: 2000-2-29
提示:需要注意闰年,闰年2月有29天,平年28天。
闰年判定函数:
c++
bool isLeapYear(int year){
//四年一闰,百年不闰,四百年又闰
if (year%400==0)
return true;
else if (year%100==0)
return false;
else if (year%4==0)
return true;
else
return false;
}
请注意:函数题只需要提交相关代码片段,不要提交完整程序。
### 感觉不会? 那试着听听**免费的B站网课**
[简洁的C和C++ - 重庆大学在线课程](https://www.bilibili.com/video/BV1it411d7zx/)
[Python编程基础及应用 - 重庆大学在线课程](https://www.bilibili.com/video/BV1kt411R7uW/)

答案:若无答案欢迎评论