定义一个日期类CDate,包含属性:年、月、日,都是整数。 构造函数含单个参数,参数是八位整数,默认值为0,实现整数转为日期类型,例如参数为20170612,转为year=2017, month=6, day=12 实现转换运算符重载,把日期类型转为整数,例如2017年6月8日转为20170608。注意,如果月或日小于10,转化为整数时要补0 实现日期的输出函数Print,具体格式看示范数据 主函数如下,不能修改,请实现上面的日期类 int main() { int t, t1, t2; CDate C1, C2; cin>>t; while (t--) {cin>>t1>>t2; C1 = t1; C2 = t2; ((C1>C2)?C1:C2).Print(); //日期大的输出,在代码C1>C2中,会自动把C1和C2转换为整数进行比较 } return 0; } 注意:本题目不需要也不要重载>运算符,只要实现转换运算符重载,能够把日期类型转为整数就可以了
时间: 2023-07-15 11:13:00 浏览: 83
定义一个Date 类,数据成员有year,month, day。以“年_月_日“的格式输出日期, 还提供把天加一的成员函数nextdate( ),要求能测试出如下的结果:
5星 · 资源好评率100%
```cpp
#include <iostream>
#include <string>
using namespace std;
class CDate {
private:
int year, month, day;
public:
CDate(int date = 0) {
year = date / 10000;
month = date % 10000 / 100;
day = date % 100;
}
operator int() const {
return year * 10000 + month * 100 + day;
}
void Print() const {
cout << year << "-";
if (month < 10) cout << "0";
cout << month << "-";
if (day < 10) cout << "0";
cout << day << endl;
}
};
int main() {
int t, t1, t2;
CDate C1, C2;
cin >> t;
while (t--) {
cin >> t1 >> t2;
C1 = t1;
C2 = t2;
((C1 > C2) ? C1 : C2).Print();
}
return 0;
}
```
阅读全文