当前位置导航:炫浪网>>网络学院>>编程开发>>C++教程>>C++进阶与实例

C++ 继承性应用实例—日期和时间

    本文给出一个关于继承性的综合例子,该例子编写一个有关日期(年、月、日)和时间(时、分、秒)的程序。该程序建立三个类,其中一个是日期的类date,一个是时间的类time,另一个是日期和时间类datetime,它是前面两个类为基类的派生类。

  下面是该程序的源码:

 #include
#include
#include
typedef char string80[80];

class date
{
 public:
 date() {}
 date(int y, int m, int d) { setdate(y, m, d); }
 void setdate(int y, int m, int d)
 {
  year = y;
  month = m;
  day = d;
 }
 void getstringdate(string80 &date)
 {
  sprintf(date, \"%d/%d/%d\", year, month, day);
 }
 protected:
  int year, month, day;
};

class time
{
 public:
 time() {}
 time(int h, int m, int s) { settime(h, m, s); }
 void settime(int h, int m, int s)
 {
 hours = h;
 minutes = m;
 seconds = s;
 }
void getstringtime(string80 &time)
{
 sprintf(time, \"%d:%d:%d\", hours, minutes, seconds);
}
 protected:
 int hours, minutes, seconds;
};

class timedate:public date, public time
{
 public:
 timedate():date() {}
 timedate(int y, int mo, int d, int h, int mi, int s):date(y, mo, d),  time(h, mi, s) {}
 void getstringdt(string80 &dtstr)
 {
  sprintf(dtstr, \"%d/%d/%d;%d:%d:%d\", year, month, day, hours, minutes, seconds);
 }
};

void main()
{
 timedate date1, date2(1998, 8, 12, 12, 45, 10);
 string80 demostr;
 date1.setdate(1998, 8, 7);
 date1.settime(10, 30, 45);
 date1.getstringdt(demostr);
 cout<<\"the date1 date and time is:\"<  date1.getstringdate(demostr);
 cout<<\"the date1 date is:\"<  date1.getstringtime(demostr);
 cout<<\"the date1 time is:\"<  date2.getstringdt(demostr);
 cout<<\"the date2 date and time is:\"<
}

  该程序中,对象的数据成员的值是通过成员函数获取数据成员的字符串,然后再使用输出语句进行输出的。 
相关内容
赞助商链接