本文共 2340 字,大约阅读时间需要 7 分钟。
#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; }转载地址:http://vxdqi.baihongyu.com/