使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)定义CMyTime的私有成员函数m_year、m_month类型为int,请在注释∥********1**

admin2015-05-30  25

问题 使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能:
    (1)定义CMyTime的私有成员函数m_year、m_month类型为int,请在注释∥********1********后添加适当的语句。
    (2)补充完成CMyTime的构造函数,完成对m_year、m month的赋值,请在注释//********2********后添加适当的语句。
    (3)完成print()的输出,请在注释//********3********后添加适当的语句。输出格式如下:
    Current Time year:xx month:xx
    注意:xx表示两位0~9的数字,如Current Time year:08month:04。
    (4)完成对month的增加函数AddMonth(int m),请在注释//********4********后添加适当的语句。
    注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
    1    #include
    2   class CMyTime
    3  {
    4    private:
    5    //********1********
    6
    7    public:
    8    CMyTime(int year,int month)
    9    {
    10    //********2********
    11
    12    }
    13    void display()
    14    {
    15    char yearChar[3];
    16    char monthChar[3],
    17    yearChar[0]=(m_year%100)/10+’0’,
    18    yearChar[1]=(m_year%10)+’0’;
    19    monthChar[0]=(m month%100)/10+’0’;
    20    monthChar[1]=(m month%10)+’0’;
    21    //********3********
    22
    23    cout<<"Current Time"<<" year:"<    24    }
    25    void AddMonth(int m)
    26    {
    27    m month=m month-1+m;
    28    //********4********
    }
    29
    30    m_month=m_month%12+1 ;
    31    }
    32    void AddYear(int n)
    33    {
    34    m_year=m_year+n ;
    35    }
    36    };
    37    int main()
    38    {
    39    CMyTime myTime(2006,11);
    40    myTime.AddMonth(5);
    41    myTime.display();
    42    myTime.AddYear(1);
    43    myTime.display();
    44    return 0 ;
    45  }

选项

答案(1)添加语句:int m year,m month; (2)添加语句:m_year=year; m—month=month; (3)添加语句:yearChar[2]=0;monthChar[2]=0 ; (4)添加语句:m_year+=m—month/12;或m_year=m_year+m_month /12 ;

解析 程序中定义了类CMyTime,含有m_year和m_month两个成员变量,成员函数display()显示成员变量的值,AddMonth(int m)和AddYear(int n)函数分别改变m_month和m_year两个成员变量的值。
    [解题思路]
    (1)第1个标识下添加CMyTime的私有成员变量m_year、m_month的声明,因此第1个标识下应添加“intm_year,m_month;”。
    (2)第2个标识下完成类成员构造函数变量的初始化,即将参数分别赋值给m_year和m_month,因此第2个标识F应添加“m_year=year;m_month=month;”。
    (3)第3个标识下准备输出yearChar数组和monthChar数组,字符数组的最后一个字符应该为NULL(O),因此第3个标识下应添加“yearChar[2]=0;monthChar[2]=0;”。
    (4)m month和参数之和赋值给m_month,其和可能超过12,如果超过12表示下一年了,因此m_year应该加l,故先判断m month是否比12大,可取m_month/12和m_year相加,如果m_month没有超过12则m_month/12=0反之则为1,第4标识下应添加“m year+=m month/12;或m_year=m_year+m_month/12;”。
转载请注明原文地址:https://kaotiyun.com/show/CPNp777K
0

最新回复(0)