C++实验:时间和日期类

描述

 

用C++实现日期类CDate和时间类CTime,并在次基础上利用多继承实现日期时间类CDateTime,使其能输出样例信息。

主函数里的代码已经给出,请补充完整,提交时请勿包含已经给出的代码。

int main()
{
	int y, m, d, hh, mm, ss;
	while(cin>>y>>m>>d>>hh>>mm>>ss)
	{
		CDateTime dt(y,m,d,hh,mm,ss);
		dt.Print();
		((CDate)dt).Print();
		((CTime)dt).Print();
	}
	return 0;
}

输入

 

输入数据有多组,每组占一行,每行为6个正整数,表示一个日期时间中的年、月、日、小时、分钟、秒。

日期信息保证有效。

输出

 

按样例格式输出日期时间、日期、时间等信息。

样例输入

 

 2000 3 1 12 9 9

 

样例输出

 

2000-3-1 12:9:9
2000-3-1
12:9:9

代码测试:

#include<iostream>
using namespace std;
class CDate{
    protected:
        int y,m,d;
    public:
        CDate();
        CDate(int y,int m,int d)
        :y(y),m(m),d(d)
        {    
        }
        void Print(){
            cout<<y<<"-"<<m<<"-"<<d<<endl;
        }
};
class CTime{
    protected:
        int hh,mm,ss;
    public:
        CTime();
        CTime(int hh,int mm,int ss)
        :hh(hh),mm(mm),ss(ss)
        {    
        }
        void Print(){
            cout<<hh<<":"<<mm<<":"<<ss<<endl;
        }
};

class CDateTime:
    public CTime,public CDate
{
    public:
        CDateTime();
        CDateTime(int y,int m,int d,int hh,int mm,int ss)
        :CDate(y,m,d),CTime(hh,mm,ss)
        {    
        }
        void Print(){
            cout<<CDate::y<<"-"<<CDate::m<<"-"<<CDate::d<<" "<<CTime::hh<<":"<<CTime::mm<<":"<<CTime::ss<<endl;
        }
};
int main()
{
    int y, m, d, hh, mm, ss;
    while(cin>>y>>m>>d>>hh>>mm>>ss)
    {
        CDateTime dt(y,m,d,hh,mm,ss);
        dt.Print();
        ((CDate)dt).Print();
        ((CTime)dt).Print();
    }
    return 0;
}
View Code
原文地址:https://www.cnblogs.com/momo-88/p/8920645.html