使用VC++6.0打开考生文件夹下的源程序文件3.cpp,其中定义了用于表示日期的类Date,但类Date的定义并不完整。请按要求完成下列操作,将类Date的定义补充完整。 (1)定义私有数据成员year、month和day,分别用于表示年、月和日

admin2013-10-15  30

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

选项

答案(1)应添加“Date(){year=1;month=1;day=1;}”或“Date():year(1),month(1),day(1){}”。 (2)应添加“year=y;month=m;day=d;”。 (3)应添加“int year,month,day;”。 (4)应添加“cout<
解析 本题考查了类的定义。根据题意,此处应定义3个int型数据成员year、month和day。根据题意,第2处应添加默认构造函数,并初始化3个变量,这里既可以使用赋值语句来实现,也可以使用初始化列表。第3处只能通过赋值语句初始化3个成员,因为注释3位于函数中,无法在此处使用初始化列表。添加输出语句,注意题目头包含的头文件是iostream.h,不能添加std::前缀。
转载请注明原文地址:https://kaotiyun.com/show/RbBD777K
0

最新回复(0)