1. 程式人生 > >【OJ】---O---輸出日期時間,友元函式

【OJ】---O---輸出日期時間,友元函式



題目要求如下:

-----------------------------------------------------------------------------------------------------------------------------------------------

程式碼如下:

/*
 * Copyright (c) 2013, 煙臺大學計算機學院
 * All rights reserved.
 * 作    者:  沈遠巨集
 * 完成日期:2014 年06月19日
 * 版 本 號:v1.0
 * 問題描述:Description
設計一個日期類和時間類,編寫display函式用於顯示日期和時間。要求:display函式作為類外的普通函式,分別在Time和
Date類中將display宣告為友元函式。在主函式中呼叫display函式,display函式分別引用Time和Date兩個類的物件的私有數
據,輸出年、月、日和時、分、秒。

Input
年、月、日和時、分、秒

Output
年、月、日和時、分、秒

*/#include <iostream>
using namespace std;
class Date;
class Time
{
private:
    int hour;
    int minute;
    int second;
public:
    Time(int hh,int mm,int ss):hour(hh),minute(mm),second(ss) {}
    friend void display(Date& ,Time& );
};
class Date
{
private:
    int year;
    int month;
    int day;
public:
    Date(int yy,int mm,int dd):year(yy),month(mm),day(dd) {}
    friend void display(Date& ,Time& );
};
void display(Date &d,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;
}



執行結果:


OJ要求結果輸出例樣: