OJ積累--輸出時間日期-友元函式
阿新 • • 發佈:2019-02-20
/* *copyright (c)2015,煙臺大學計算機學院 *All rights reserved *檔名稱:project.cpp *作者:孫春紅 *完成日期:2015年6月19日 *版本號:v1.0 * *問題描述:設計一個日期類和時間類,編寫display函式用於顯示日期和時間。 要求:display函式作為類外的普通函式,分別在Time和Date類中將display宣告為友元函式。 在主函式中呼叫display函式,display函式分別引用Time和Date兩個類的物件的私有資料,輸出年、月、日和時、分、秒。 *輸入描述:年、月、日和時、分、秒 *程式輸出:年、月、日和時、分、秒 */ #include <iostream> using namespace std; class Time; class Date { private: int year; int month; int day; public : Date(int y=0,int m=0,int d=0):year(y),month(m),day(d) {} friend void display(const Date &,const Time &); }; class Time { private: int hour; int minute; int second; public: Time (int h=0,int m=0,int s=0):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; cin>>year>>month>>day; Date d1(year,month,day); int hour,minute,second; cin>>hour>>minute>>second; Time t1(hour,minute,second); display(d1,t1); return 0; }
執行結果: