运用友元类编写程序,输出时间日期

来源:互联网 发布:暴雪cg 知乎 编辑:程序博客网 时间:2024/06/06 05:03
//将Time类声明为Date类的友元类,通过Time类中的display函数引用Date类的对象的私有数据,输出年,月,日和时,分,秒#include <iostream>using namespace std;class Time;   //对Time的声明,是对Date的预引用class Date{public:    Date(int,int,int);    friend Time;       //将Time声明为友元类private:    int month;    int day;    int year;};Date::Date(int m,int d,int y):month(m),day(d),year(y){}class Time{public:    Time(int,int,int);    void display(const Date &);private:    int hour;    int minute;    int sec;};Time::Time(int h,int m,int s):hour(h),minute(m),sec(s){}void Time::display(const Date &d)        //引用Date类{    cout<<d.month<<"/"<<d.day<<"/"<<d.year<<endl;  //引用Date类对象d1的数据成员    cout<<hour<<":"<<minute<<":"<<sec<<endl;      //引用Time类对象t1的数据成员}int main(){    Time t1(10,35,56);        //定义Time类对象t1    Date d1(12,25,2004);      //定义Date类对象d1    t1.display(d1);           //调用display函数,用对象名做实参    return 0;}