要求:display函数作为类外的普通函数,分别在Time和Date类中将display声明为友元函数。在主函数中调用display函数,display函数分别引用Time和Date两个类的对象的私有数据,输出年、月、日和时、分、秒。
#include<iostream>
using namespace std;
class Time;
class Date{
public:
int year,month,day;
Date(int y,int m,int d)
{
year = y;
month = m;
day = d;
}
friend void display(const Date &,const Time &);
};
class Time{
public:
int hour,minute,second;
Time(int h,int m,int s)
{
hour = h;
minute = m;
second = s;
}
friend void display(const Date&,const Time &);
};
void display(const Date &d,const Time &t)
{
cout<<d.year<<"/"<<d.month<<"/"<<d.day<<endl;
cout<<t.hour<<":"<<t.minute<<":"<<t.second<<endl;
}
int main()
{
void display(const Date &,const Time &);
int year,month,day;
cout<<"请依次输入年月日:"<<endl;
cin>>year>>month>>day;
Date d1(year,month,day);
int hour,minute,second;
cout<<"请依次输入时分秒:"<<endl;
cin>>hour>>minute>>second;
Time t1(hour,minute,second);
display(d1,t1);
return 0;
}