使用VC6打开考生文件夹下的工程MyProj1。此工程包含千个源程序文件 MyMainl.cpp,其中定义了用于表示日期的类Date,但类Date的定义并不完整。请按要求完成下列操作,将类Date的定义补充完成: ①定义私有数据成员year、mont

admin2009-01-15  45

问题 使用VC6打开考生文件夹下的工程MyProj1。此工程包含千个源程序文件 MyMainl.cpp,其中定义了用于表示日期的类Date,但类Date的定义并不完整。请按要求完成下列操作,将类Date的定义补充完成:
   ①定义私有数据成员year、month和day分别用于表示年、月、日,它们都是int型的数据。请在注释“//**1**”之后添加适当的语句。
   ②完成默认构造函数Date的定义,使Date对象的默认值为:year=1,month=1, day=1,请在注释“//**2**”之后添加适当的语句。
   ③完成重载构造函数Date(int y, int m, int d)的定义,把数据成员year、month和day分别初始化为参数y、m和d的值,请在注释“//**3**”之后添加适当的语句。
   ④完成成员函数print的类外定义,使其以“年-月-日”的格式将Date对象的值输出到屏幕上。请在注释“//**4**”之后添加适当的语句。
   注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
   源程序文件MyMain1.cpp清单如下:
   //MyMainl. cpp
   #include <iostream>
   using namespace std;
   class Date
   {
   public:
      //*  *  2  *  *
      Date(int y, int m, int d)
      {
         //*  *  3  *  *
      }
      void print()  const;
   private:
      //data member
      //* * 1 * *
   };
   void Date: :print ()  const
   {
      //* * 4 * *
   }
   int main ( )
   {
      Date national_day(1949,10,1);
      national_day.print();
      return 0;
   }

选项

答案①int year, month, day; ②Date(){year=1;month=1;day=1;} ③year=y;month=m;day=d; ④cout<<year<<"年"<<month<<"月"<<day<<"日"<<end1;

解析 这是一道综合应用题,主要考核类的定义。
   ①定义私有数据成员year、month和day分别用于表示年、月、日,它们都是血型的数据,所以在第1处填入:“int year, month, day;”。
   ②完成默认构造函数Date的定义,使Date对象的默认值为:year=1,month=1,day=1。
   根据以上要求可知,类Date的默认构造函数为:“Date(){year=1;month=1;day=1}:”。
   ③完成重载构造函数Date(int y, int m, int d)的定义,把数据成员year、month和day分别初始化为参数y、m和d的值。其实也就是给私有成员year、month和day赋值。
   所以在第3处应填入:“year=y;month=m;day=d;”。
   ④完成成员函数print的类定义,使其以“年-月-日”的格式将Date对象的值输出到屏幕上。函数print的功能是输出Date对象的值,此处主要考核C++的格式化输出。
   所以在第4处应该填入:“cout<<year<<"年"<<month<<"月"<<day<<"日"<<end1;”。
转载请注明原文地址:https://kaotiyun.com/show/HKID777K
0

最新回复(0)