时间类和日期类派生出时间日期类

来源:互联网 发布:七天网络系统代码 编辑:程序博客网 时间:2024/06/07 21:14

今天再写一个多重继承的应用实例,时间类和日期类派生出时间日期类

程序代码

#include <iostream>using namespace std;class Date//日期类{public:    //构造函数    Date(int y = 0, int m = 0, int d = 0);    //设置日期    void SetDate(int y,int m,int d);    //打印日期    void PrintDate()    {        cout<<year<<"年"<<month<<"月"<<day<<"日"<<endl;    }protected:    int year;//年    int month;//月    int day;//日};//构造函数(使用初始化表初始化数据成员)Date::Date(int y, int m, int d):year(y),month(m),day(d){}//设置日期void Date::SetDate(int y, int m, int d){    year = y;    month = m;    day = d;}class Time//时间类{public:    //构造函数    Time(int h = 0, int m = 0, int s = 0);    //设置时间    void SetTime(int h, int m, int s);    //打印时间    void PrintTime();protected:    int hour;//时    int minute;//分    int second;//秒};//构造函数Time::Time(int h, int m, int s):hour(h), minute(m), second(s){}//设置时间void Time::SetTime(int h, int m, int s){    hour = h;    minute = m;    second = s;}//打印时间void Time::PrintTime(){    cout<<hour<<":"<<minute<<":"<<second<<endl;}class TimeDate : public Date, public Time{public:    //构造函数    TimeDate(int y, int m, int d, int h, int mm, int s);    //打印时间和日期    void PrintDateTime();};//构造函数TimeDate::TimeDate(int y, int m, int d, int h, int mm, int s):    Date(y, m, d), Time(h, mm, s){}//打印时间和日期void TimeDate::PrintDateTime(){    Date::PrintDate();    Time::PrintTime();}void main(){    Date d;//定义一个日期对象d    d.SetDate(2014, 9, 16);//设置日期    d.PrintDate();//打印日期    Time t;//定义一个时间对象t    t.SetTime(16, 3, 30);//设置时间    t.PrintTime();//打印时间    //定义一个时间日期对象    TimeDate td(2014, 9, 16, 15, 39, 0);    //打印时间和日期    td.PrintDateTime();    system("pause");}


执行结果:


0 0