标签:style blog http io os 使用 ar 数据 2014
今天再写一个多重继承的应用实例,时间类和日期类派生出时间日期类
程序代码
#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");
}
执行结果:
标签:style blog http io os 使用 ar 数据 2014
原文地址:http://blog.csdn.net/u010105970/article/details/39323353