日程安排(多繼承 友元函式)

2021-10-06 14:45:46 字數 1241 閱讀 7212

已有乙個日期類date,包括三個protected成員資料year,month,day;

另有乙個時間類time,包括三個protected成員資料hour,minute,second,12小時制;

現需根據輸入的日程的日期時間,安排前後順序,為此以date類和time類為基類,建立乙個日程類schedule,包括以下新增成員:

int id;//日程的id

定義友元函式bool before(const schedule & s1,const schedule & s2);//判斷日程s1時間是否早於日程s2。

編寫主函式,根據輸入的各項日程資訊,建立日程物件,找出需要最早安排的日程(日期和時間相等時,輸出較早建立的日程),並輸出該日程物件的資訊。相同的日程,取先輸入的。

測試輸入包含若干日程,每個日程佔一行(日程id 日程日期日程時間)。

當讀入0時輸入結束,相應的結果不要輸出。

時間最靠前的日程

1 2019 6 27 8 0 1

2 2019 6 28 8 0 1

3 2020 1 1 8 0 0 0

the urgent schedule is no.1: 2019/06/27 08:00:01

#include #include #include using namespace std;

class date

int getyear()

int getmonth()

int getday()

};class time

int gethour()

int getminute()

int getsecond()

};class schedule:public date,public time

int getid()

friend ostream &operator<<(ostream &out, schedule &obj);

};ostream &operator<<(ostream &out, schedule &obj)

sort(s.begin(), s.end(), cmp);

//for (vector::iterator it = s.begin(); it != s.end(); it++)

//cout<<*it

}

日程安排(多重繼承 過載)

已有乙個日期類date,包括三個protected成員資料 int year int month int day 另有乙個時間類time,包括三個protected成員資料 int hour int minute int second 現需根據輸入的日程的日期時間,安排前後順序,為此以date類和t...

7 3 日程安排(多重繼承 過載) 30 分

已有乙個日期類date,包括三個protected成員資料 int year int month int day 另有乙個時間類time,包括三個protected成員資料 int hour int minute int second 現需根據輸入的日程的日期時間,安排前後順序,為此以date類和t...

PTA 7 2 日程安排(多重繼承 過載)

已有乙個日期類date,包括三個protected成員資料 int year int month int day 另有乙個時間類time,包括三個protected成員資料 int hour int minute int second 現需根據輸入的日程的日期時間,安排前後順序,為此以date類和t...