日期时间类

问题及代码:

/*copyright 计算机与控制工程学院
完成日期:2106年5月12
作者:马艳艳
文件名称:日期时间类
问题描述:定义一个日期类Date,数据成员包括年、月、日,SetDate(int y,int m,int d)和PrintDate()函数分别用于设置日期和显示日期;再定义一个时间类Time,数据成员包括时、分、秒,SetTime(int h,int m,int s)和PrintTime()函数分别用于设置时间和显示时间,在此基础上再定义一个日期时间类TimeDate,充分利用已有的两个类中提供的方法,实现日期和时间的设置和显示。请实现类TimeDate,下面是用于测试的主函数及参考运行结果。
输入描述:无
输出描述:结果;*/
#include<iostream>
using namespace std;
class Date
{
public:
    void SetDate(int y,int m,int d)
    {
        year=y;
        month=m;
        day=d;
    }
    Date(int y,int mo,int d):year(y),month(mo),day(d){}//构造函数
    void PrintDate();
    Date():year(0),month(0),day(0){}  //默认构造函数
private:
    int year,month,day;
};
void Date::PrintDate()
{
    cout<<year<<"/"<<month<<"/"<<day<<endl;
}
class Time
{
public:
    void SetTime(int h,int mi,int s)
    {
        hour=h;
        minute=mi;
        second=s;
    }
    void PrintTime();
    Time():hour(0),minute(0),second(0){}//默认构造函数
    Time(int h,int mi,int s):hour(h),minute(mi),second(s){}
private:
    int hour,minute,second;
};

void Time::PrintTime()
{
    cout<<hour<<":"<<minute<<":"<<second<<endl;
}
class TimeDate:public Date,public Time
{
public:

    TimeDate(int y,int mo,int d,int h,int mi,int s):Date(y,mo,d),Time(h,mi,s){}
    TimeDate():Time(),Date(){}
    void PrintDate_Time();

};
void TimeDate::PrintDate_Time()
{
    PrintDate();
    cout<<" ";
    PrintTime();
    cout<<endl;
}
int main()
{
    TimeDate dt_a,dt_b(2010,4,16,9,30,0);
    cout<<"dt_a: ";
    dt_a.PrintDate_Time();
    cout<<endl;
    cout<<"dt_b: ";
    dt_b.PrintDate_Time();
     dt_a.SetTime(20,00,00);
    dt_a.SetDate(2008,8,7);
    cout<<endl;
    cout<<"dt_after uptate: ";
    dt_a.PrintDate_Time();
    return 0;
}

运行结果:

日期时间类_第1张图片

知识点总结:

继承两个基类,成员函数的实现,以及实现默认构造函数和构造函数。

你可能感兴趣的:(C++,类,数据,codeblocks,类的继承)