1. 程式人生 > >OJ積累--輸出時間日期-友元函式

OJ積累--輸出時間日期-友元函式

/*
*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;
}


執行結果: