运用友元类编写程序,输出时间日期
来源:互联网 发布:暴雪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;}