编写日期类,将日期格式化输出。 主函数里的代码已经给出,请补充完整,提交时请勿包含已经给出的代码。 C++ int main() { int y, m, d; while(cin>>y>>m>>d) { CDate date(y, m, d); cout<<(string)date<<endl; } }
时间: 2024-03-08 13:46:09 浏览: 69
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) {}
operator string() const {
string s = to_string(year) + "-" + to_string(month) + "-" + to_string(day);
return s;
}
};
int main() {
int y, m, d;
while(cin>>y>>m>>d) {
CDate date(y, m, d);
cout << (string)date << endl;
}
return 0;
}
```
注释:
1. `CDate`类表示日期,包含年、月、日三个私有成员变量。
2. `CDate`类重载了类型转换运算符,将日期转换为字符串输出。
3. 在 `main` 函数中,每次输入一个日期,创建 `CDate` 对象,并通过 `(string)date` 将日期转换为字符串输出。
4. 在重载类型转换运算符中,使用 `to_string` 将年、月、日转换为字符串,并将它们拼接起来,形成格式为 `年-月-日` 的日期字符串。
阅读全文