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

admin2019-06-07  39

问题 使用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
using namespace std;
void WriteFile(int c)
{
    ofstream out1;
    out1.open("modi3.txt",ios
base::app);
    out1<    out1.close();
  }
  void WriteFile(char*str)
  {
    ofstream out1;
    out1.open("modi3.txt",ios
base::app);
    out1<out1.Close();
}
void ClearFile()
{
    ofstream out1;
    out1.open("modi3.txt");
out1.Close();
}
class Date
{
public:
    Date(int y,int m,int d)
    {
    //********2********
    }
    void print()const;
    //********3********
    {
    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:
    //********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<
解析 (1)题目l要求“定义私有成员变量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()函数中补全其打印功能,即在第四个标识下添加“cout<
转载请注明原文地址:https://jikaoti.com/ti/56A0FFFM
0

最新回复(0)