#include <iostream>
using namespace std;
class Data
{
public:
Data(int y = 0, int m = 0, int d = 0);
void setYear(int y);
void setMonth(int m);
void setDay(int d);
int GetYear();
int GetMonth();
int GetDay();
void display();
private:
int year;
int month;
int day;
};
inline Data::Data(int y /* = 0 */, int m /* = 0 */, int d /* = 0 */)
{
if (y < 0)
{
y = 0;
}
if (m < 0 || m >= 13)
{
m = 0;
}
if (d < 0 || d > 31)
{
d = 0;
}
year = y;
month = m;
day = d;
}
inline void Data::setYear(int y)
{
year = y;
}
inline void Data::setMonth(int m)
{
month = m;
}
inline void Data::setDay(int d)
{
day = d;
}
inline int Data::GetYear()
{
return year;
}
inline int Data::GetMonth()
{
return month;
}
inline int Data::GetDay()
{
return day;
}
inline void Data::display()
{
cout << year << "_" << month << "_" << day ;
}
/****************************************************/
class Time
{
public:
Time(int h = 0, int m = 0, int s = 0);
void setHour(int y);
void setMin(int m);
void setSec(int d);
int GetHour();
int GetMin();
int GetSec();
void display();
private:
int hour;
int minute;
int second;
};
inline Time::Time(int h /* = 0 */, int m /* = 0 */, int s /* = 0 */)
{
hour = h;
minute = m;
second = s;
}
inline void Time::setHour(int h)
{
hour = h;
}
inline void Time::setMin(int m)
{
minute = m;
}
inline void Time::setSec(int s)
{
second = s;
}
inline int Time::GetHour()
{
return hour;
}
inline int Time::GetMin()
{
return minute;
}
inline int Time::GetSec()
{
return second;
}
inline void Time::display()
{
cout << hour << ":" << minute << ":" << second ;
}
/*****************************************************/
class DataAndTime: public Data, public Time
{
public:
DataAndTime(int y = 0, int m = 0, int d = 0, int hour = 0, int min = 0, int sec = 0);
void display();
};
inline DataAndTime::DataAndTime(int y/* = 0*/, int m/* = 0*/, int d/* = 0*/, int hour/* = 0*/, int min/* = 0*/, int sec/* = 0*/)
:Data(y, m, d), Time(hour, min, sec)
{
}
inline void DataAndTime::display()
{
Data::display();
cout << " " ;
Time::display();
}
/****************************************************/
int main()
{
DataAndTime dandt(2006, 11, 13, 13, 25, 38);
dandt.display();
cout << endl;
cout << dandt.GetYear() << endl;
cout << dandt.GetSec() << endl;
dandt.setYear(1985);
dandt.setMin(33);
dandt.setSec(133);
dandt.display();
cout << "end test";
return 0;
}
using namespace std;
class Data
{
public:
Data(int y = 0, int m = 0, int d = 0);
void setYear(int y);
void setMonth(int m);
void setDay(int d);
int GetYear();
int GetMonth();
int GetDay();
void display();
private:
int year;
int month;
int day;
};
inline Data::Data(int y /* = 0 */, int m /* = 0 */, int d /* = 0 */)
{
if (y < 0)
{
y = 0;
}
if (m < 0 || m >= 13)
{
m = 0;
}
if (d < 0 || d > 31)
{
d = 0;
}
year = y;
month = m;
day = d;
}
inline void Data::setYear(int y)
{
year = y;
}
inline void Data::setMonth(int m)
{
month = m;
}
inline void Data::setDay(int d)
{
day = d;
}
inline int Data::GetYear()
{
return year;
}
inline int Data::GetMonth()
{
return month;
}
inline int Data::GetDay()
{
return day;
}
inline void Data::display()
{
cout << year << "_" << month << "_" << day ;
}
/****************************************************/
class Time
{
public:
Time(int h = 0, int m = 0, int s = 0);
void setHour(int y);
void setMin(int m);
void setSec(int d);
int GetHour();
int GetMin();
int GetSec();
void display();
private:
int hour;
int minute;
int second;
};
inline Time::Time(int h /* = 0 */, int m /* = 0 */, int s /* = 0 */)
{
hour = h;
minute = m;
second = s;
}
inline void Time::setHour(int h)
{
hour = h;
}
inline void Time::setMin(int m)
{
minute = m;
}
inline void Time::setSec(int s)
{
second = s;
}
inline int Time::GetHour()
{
return hour;
}
inline int Time::GetMin()
{
return minute;
}
inline int Time::GetSec()
{
return second;
}
inline void Time::display()
{
cout << hour << ":" << minute << ":" << second ;
}
/*****************************************************/
class DataAndTime: public Data, public Time
{
public:
DataAndTime(int y = 0, int m = 0, int d = 0, int hour = 0, int min = 0, int sec = 0);
void display();
};
inline DataAndTime::DataAndTime(int y/* = 0*/, int m/* = 0*/, int d/* = 0*/, int hour/* = 0*/, int min/* = 0*/, int sec/* = 0*/)
:Data(y, m, d), Time(hour, min, sec)
{
}
inline void DataAndTime::display()
{
Data::display();
cout << " " ;
Time::display();
}
/****************************************************/
int main()
{
DataAndTime dandt(2006, 11, 13, 13, 25, 38);
dandt.display();
cout << endl;
cout << dandt.GetYear() << endl;
cout << dandt.GetSec() << endl;
dandt.setYear(1985);
dandt.setMin(33);
dandt.setSec(133);
dandt.display();
cout << "end test";
return 0;
}