dispaly函数为普通函数(非类中),分别在Time,Date类中将display声明为友元函数,在主函数中调用dispaly函数,dispaly函数分别引用Time,Date中的私有数据成员,完成输出。
#include <iostream>
#include <stdio.h.>
#include <stdlib.h>
using namespace std;
class Time;
class Date
{
public:
Date(int,int,int );
friend void display(Date &,Time&);
private:
int month,day,year;
};
class Time
{
public:
Time(int ,int,int );
friend void display(Date &,Time &);
private:
int hour,minute,second;
};
Date::Date(int m,int d,int y):month(m),day(d),year(y){}
Time::Time(int h,int m,int s):hour(h),minute(m),second(s){}
void display(Date &d,Time&t)
{
cout<<d.month<<"/"<<d.day<<"/"<<d.year<<endl;
cout<<t.hour<<":"<<t.second<<":"<<t.minute<<endl;
}
int main()
{
Time t1(17,39,10);
Date d1(4,3,2019);
display(d1,t1);
return 0;
return 0;
}