编写日期类,将日期格式化输出。 主函数里的代码已经给出,请补充完整,提交时请勿包含已经给出的代码。 C++ int main() { int y, m, d; while(cin>>y>>m>>d) { CDate date(y, m, d); cout<<(string)date<<endl; } } 输入 输入数据有多组,每组一行,包括年、月、日三个正整数。 输入保证日期正确。 输出 每组输出格式化后的日期,见样例。 样例输入 2000 2 29 2016 12 1 样例输出 2000-2-29 2016-12-1
时间: 2024-03-08 07:46:07 浏览: 57
C++代码如下:
```c++
#include <iostream>
#include <string>
#include <iomanip> // 控制输出格式头文件
using namespace std;
class CDate {
private:
int year, month, day;
public:
CDate(int y, int m, int d) : year(y), month(m), day(d) {}
friend ostream& operator<<(ostream& os, const CDate& date) {
os << date.year << "-" << setw(2) << setfill('0') << date.month << "-" << setw(2) << setfill('0') << date.day;
return os;
}
};
int main() {
int y, m, d;
while(cin>>y>>m>>d) {
CDate date(y, m, d);
cout << date << endl;
}
return 0;
}
```
注释:
1. `CDate`类表示日期,包含年、月、日三个私有成员变量。
2. `CDate`类重载了输出运算符 `<<`,用于格式化输出日期。
3. 在 `main` 函数中,每次输入一个日期,创建 `CDate` 对象,并通过 `cout` 输出日期。
4. 在重载输出运算符 `<<` 中,使用 `setw` 和 `setfill` 控制输出的格式,确保月份和日期以两位数字输出。
阅读全文