按下列要求编程
(1)定义日期类CDate,包含年、月、日三个int型私有数据成员;
(2)定义时间类CTime,包含时、分、秒三个int型数据成员,以及一个CDate型数据成员;在CTime中定义一个函数void display( )函数,用于显示日期和时间;
(3)为类CDate和CTime编写必要的成员函数和构造函数;
(4)定义CTime的成员函数display(),输出日期和时间;
(5)把CTime的成员函数display()改为友元函数,并测试之;
(6)编写函数main(),定义CTime的对象,测试其成员函数并截图运行结果。
#include<bits/stdc++.h>
using namespace std;
class CDate{
private:
int year;
int month;
int day;
CDate()
{
year=2022;
month=3,day=4;
}
CDate(int y,int m,int d)
{
year=y;
month=m;
day=d;
}
CDate(CDate& d)
{
year=d.year;
month=d.month;
day=d.day;
}
~CDate() {}
int Gety()
{
return year; //得到年份
}
int Getm()
{
return month;
}
int Getd()
{
return day;
}
void Set(int y,int m,int d)
{
year=y; //设置时间
month=m;
day=d;
}
};
class CTime{
public:
int hour;
int min;
int sec;
//怎么定义CDate型数据成员
void display()//怎么改成友元函数捏
{
cout<<year<<"-"<<month<<"-"<<day<<endl; //CDate用了private怎么调用year month 和day呢
}
};
int main()
{
Date d1,d2(1999,9,9);
d1.display();
d2.display();
d1.Set(2016,1,1);
d1.display();
cout<<d1.Gety()<<"-"<<d1.Getm()<<"-"<<d1.Getd()<<endl;
return 0;
}
只能这样写了 编译通过不了 实现要求更不会 求解答 谢谢大家!