面的主函数是将类Date生成的对象的年月日日期输出的程序;请根据主函数的代码,完成Date类的创建。 (1)成员变量为三个:分别是年份、月份、日期; (2)成员函数display()用来输出年份、月份和日期; (3)特别要注意构造函数的写法:根据主函数的语句思考需要几种种构造函数? (4)还需要编写一个赋值运算符的重载函数。 int main () { Date D1(2012,7,30),D2=D1,D4(2021,4,1);//初始化 Date D3(D1);//初始化 D4=D3;//赋值运算 cout<<"D1日期:"<<endl; D1.display(); cout<<"D2日期:"<<endl; D2.display(); cout<<"D3日期:"<<endl; D3.display(); cout<<"D4日期:"<<endl; D4.display(); return 0;
时间: 2024-03-25 20:37:48 浏览: 79
根据主函数的代码,完成Date类的创建:
```c++
#include<iostream>
using namespace std;
class Date{
private:
int year;
int month;
int day;
public:
Date(int y, int m, int d): year(y), month(m), day(d){} //构造函数1
Date(const Date& d): year(d.year), month(d.month), day(d.day){} //构造函数2
void display(){
cout << year << "年" << month << "月" << day << "日" << endl;
}
Date& operator=(const Date& d){ //重载赋值运算符
year = d.year;
month = d.month;
day = d.day;
return *this;
}
};
```
根据主函数的语句,需要两种构造函数:
1. 有参构造函数(用于初始化):`Date(int y, int m, int d)`
2. 拷贝构造函数(用于初始化和赋值):`Date(const Date& d)`
需要注意的是,构造函数的参数名可以与成员变量名相同,但为了避免混淆,建议在参数名前加上下划线等符号。
此外,还需要重载赋值运算符以实现对象的赋值操作。
阅读全文