使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示日期的类Date,但类Date的定义并不完整,按要求完成下列操作,将类的定义补充完整。 (1)定义私有成员变量year、month、day,分别表示年、月、日,类型为int。请在注

admin2015-07-20  43

问题 使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示日期的类Date,但类Date的定义并不完整,按要求完成下列操作,将类的定义补充完整。
(1)定义私有成员变量year、month、day,分别表示年、月、日,类型为int。请在注释∥********1********后添加适当的语句。
(2)完成构造函数,分别给year、month、day赋值,请在注释∥********2********后添加适当的语句。
(3)完成重载符号“+=”的定义,请在注释∥********3********添加适当的语句。
(4)完成print()打印函数,如2008年8月8日到屏幕和文件modi3.txt格式相同,请在注释∥********4********后添加适当的语句。
    注意:仅在函数指定位置添加语句,请勿改动主函数main与其他函数中的任何内容。
  #include
  #include
  #include
  #include
  US ing namespace std;
  void WriteFile(int C)
  {
    ofstream outl;
    outl.open(”modi3.txt”,los
  —base::app);
    outl<    outl.C10se();
    }
    void WriteFile(char*Str)
    {
    ofstream outl;
    outl.open(“modi3.txt”,ios
  —base::app);
    outl<  outl.close();
    }
    void C1earFile()
    {
    ofstream outl ;
    outl.open(“modi3.txt”);
outl.Close();
}
C1asS Date
{
public:
    Date(int y,int m,int@D@
    {
  ∥********2********
    }
    void print()const;
  ∥********3********
    {
    month+=m;
    int i=month/12;
    int j=month%f2’
    if(j==0)
    {
    year+=(i一1);
    month:12 ;
    }
    else
    {

    year+=1;
    month=j;
    }
    return*this;
    }
private:
∥********1********

  );
VOid Date::print()const
{
∥********4********
    WriteFile(year);
    WriteFile(“年”);
    WriteFile(month);
    WriteFile(“月”);
    WriteFile(day);
    WriteFile(“日”);
}
int main()
{
    ClearFile();
    Date Oly_day(2008,8,8);
    Oly_day+=3;
    Oly_day.print();
return 0;
}

选项

答案(1)添加语句: int year,month,day; (2)添加语句:year=y;month=m; day=d; (3)添加语句:Date&operator+=(int m) (4)添加语句:cout<
解析 在VC环境下打开程序,根据题干给出的几条功能要求,对程序中给出注释下的内容逐个补全或修改。从已给定源程序的main主函数开始入手,可以看出程序通过调用类Date和函数print实现各种输出操作。
解题思路
(1)题目1要求“定义私有成员变量year、month、day”。在C++程序的private区域中添加变量year、month、day的定义,即在第1个标识下添加“int year,month,day;”。
(2)题目2要求“完成构造函数,分别给year、month、day赋值”。在程序中“Date(int y,int m,int@D@”的构造函数中添加给year、month、day赋值的语句,即在第2个标识下添加“year=y;month=m;day=d;”。
(3)题目3要求“完成重载符号“+=”的定义”。在C++中,运算符重载的定义方法是定义一个重载运算符的函数,格式为函数operator+重载运算符号+,所以这里补全“Date &operator+=(int m)”。
(4)题目4要求“完成函数print()打印函数”。在C++中的print(1函数中补全其打印功能,即在第四个标识下添加“cout<
转载请注明原文地址:https://kaotiyun.com/show/gCNp777K
0

最新回复(0)