#include <iostream>
using namespace std;
class Date
{
protected:
int year;
int month;
int day;
public:
Date() :year(0), month(0), day(0){};
Date(int a, int b, int c) :year(a), month(b), day(c) {};
void SetDate(int y, int m, int d);
void PrintDate();
};
void Date::SetDate(int y, int m, int d)
{
year = y;
month = m;
day = d;
}
void Date::PrintDate()
{
cout << year << " " << month << " " << day;
}
class Time
{
protected:
int hour;
int minute;
int second;
public:
Time() :hour(0), minute(0), second(0){};
Time(int h, int m, int s) :hour(h), minute(m), second(s) {};
void SetTime(int h, int m, int s);
void PrintTime();
};
void Time::PrintTime()
{
cout << hour << " " << minute << " " << second << " ";
}
void Time::SetTime(int h, int m, int s)
{
hour = h;
minute = m;
second = s;
}
class TimeDate:public Date,public Time
{
public:
TimeDate() :Time(), Date(){};
TimeDate(int y, int mo, int d, int h, int mi, int s) : Date(y, mo, d), Time(h, mi, s) {};
void PrintDate_Time();
};
void TimeDate::PrintDate_Time()
{
PrintDate();
cout<<" ";
PrintTime();
}
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;
}