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

admin2013-11-15  38

问题 使用VC++6.0打开考生文件夹下的源程序文件3.cpp,其中定义了用于表示日期的类Date,但类Date的定义并不完整,按要求完成下列操作,将类的定义补充完整。
    (1)定义私有成员变量year、month、day,分别表示年、月、日,类型为int。请在注释1后添加适当的语句。
    (2)完成构造函数,分别给year、month、day赋值,请在注释2后添加适当的语句。
    (3)完成重载符号“+=”的定义,请在注释3后添加适当的语句。
    (4)完成函数print打印函数,如2005年1月5日到屏幕和文件out3.txt格式相同,请在注释4后添加适当的语句。
    注意:增加代码,或者修改代码的位置已经用符号表示出来。请不要修改其他的程序代码。
试题程序:
#include
#include(fstream)
#include(iomanip)
#include(cmath)
using namespace std;
void WriteFile(int c)
{
ofstream out1;
outl.open(“out3.txt”,ios_base::app);
outl<out1.close();
}
void WriteFile(char*str)
{
ofstream out1;
out1.open("out3.txt",ios_base::app);
out1<out1.close();
}
void ClearFile()
{
ofstream out1;
outl.open("out3.txt"):
out1.close();
}
class Date
{
public:
Date(int y,int m,int d)
{
//********1********
}
void print();
//********2********
{
  month+=m:
  int i=month/12;
  int j=month%12;
  if(j==0)
  {
  year+=(i-1);
  month=12;
  }
  else
  {
  year+=i:
  month=j;
  }
  return*this;
}
private:
//********4********
};
void Date::print()
{
  //********4********
  WriteFile(year);
  WriteFile("年");
  WriteFile(month);
  WriteFile("月");
WriteFile(day);
WriteFile("日");
}
int main()
{
ClearFile();
Date National_day(2004,10,5);
National_day+=3;
National_day.print();
return 0;
}

选项

答案(1)应添加“year=y;month=m;day=d;”。 (2)应添加“Date&operator+=(int m)”。 (3)应添加“int year,month,day;”。 (4)应添加“cout<
解析 本题要求私有成员变量year、month、day为整形表示方法,所以注释3应添加“int year,month,day;”;注释1要求分别给year、month、day赋值,根据上下文提意,所以应添加“year=y;month=m;day=d;”;注释2是对“+=”运算符的重载ate&operator=(int m);第4处打印输出年月日,C++语言中,输出使用cout。
转载请注明原文地址:https://kaotiyun.com/show/rHNp777K
0

最新回复(0)