首页 > 代码库 > C++源码-多继承

C++源码-多继承

#include <iostream>
using namespace std;

class CTimeType//定义时间类
{
    int hour,minute,second;                                          //成员变量
public:
    CTimeType(int h=12,int m=0,int s=0)                                //构造函数
    {
        hour=h;
        minute=m;
        second=s;
    }
    void display()                                                //成员函数,输出时间
    {
        cout<<hour<<":"<<minute<<":"<<second<<endl;
    }
    void SetTime(int h,int m,int s)                                //成员函数,设置时间
    {
        hour=h;
        minute=m;
        second=s;
    }
};

class CDateType//日期类
{
    int month,day,year;                                            //成员变量
public:
    CDateType(int mon=1,int d=1,int y=2008)                            //构造函数
    {
        month=mon;
        day=d;
        year=y;
    }
    void display()                                            //成员函数,输出日期
    {
        cout<<month<<"/"<<day<<"/"<<year<<endl;
    }
    void SetDate(int mon,int d,int y)                                //成员函数,设置日期
    {
        month=mon;
        day=d;
        year=y;
    }
};

class CDateTimeType:public CDateType,public CTimeType//时间日期类
{
public:
    CDateTimeType(int mon=1,int d=1,int y=2000,int h=0,int m=0,int s=0):CDateType(mon,d,y),CTimeType(h,m,s){}                                //构造函数
    void display()//成员函数,显示时间、日期
    {
        CDateType::display();                        //调用CDateType类的display函数
        CTimeType::display();                        //调用CTimeType类的display函数
    }
}; 

int main()
{
    CDateTimeType dt(3,14,2017,11,12,12);        //直接使用DateTimeType构造函数设置日期时间
    dt.display();//显示时间日期
    dt.SetDate(8,8,2008);                        //调用基类的成员函数修改日期
    dt.SetTime(20,8,8);                        //调用基类的成员函数修改时间

    dt.display();//显示时间日期
    return 0;
}

 

C++源码-多继承