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

admin2015-07-20  26

问题 使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能:
(1)定义CMyTime的私有成员函数m year、m month类型为int,请在注释 ∥********1********后添加适当的语句。
(2)补充完成CMyTime的构造函数,完成对m year、m month的赋值,请在注释 ∥********3********后添加适当的语句。
(3)完成print()的输出,请在注释 ∥********3********后添加适当的语句。输出格式如下:
    Current Time year:xx month:XX
    注意:XX表示两位0~9的数字,如Current Time year:08 month:04。
(4)完成对month的增加函数AddMonth(int m),请在注释 ∥********4********后添加适当的语句。
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
#include
class CMyTime
{
private:
     ∥********1********
9ublic:
    CMyTime(int year,int month)
    {
     ∥********2********
    }
    void display()
    {
    char yearChar[3];
    char monthChar[3];
    yearChar[0]=
(m_year%10 0)/i0+。0’;
    yearChar[1]=
(m_year%10)+‘0’;
    monthChar[0]=
(m month%10 0)/1 0+‘0’;
    monthChar[1]=
(m month%10)+‘0’,
   ∥********3********
    cout<<“Current Time
”<<”year:“<”<    }
    void AddMonth(int m)
    {
    m—month=m—month一1+m;
    ∥********4********
    m—month=m—month%12+1 ;
    }
    void AddYear(int n)
    {
    m_year=ml_year+n‘
    }
};
int main()
{
    CMyTime myTime(2006,11);
    myTime.AddMonth(5);
    myTime.display();
    myTime.AddYear(1);
    myime.display();
    return 0;
}

选项

答案(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 112;或m_year=ml_year+m—month/12;

解析 (1)第1个标识下添加CMyTime的私有成员变量m year、m month的声明,因此第1个标识下应添加“intm_year,re_month;”。
(2)第2个标识下完成类成员构造函数变量的初始化,即将参数分别赋值给m year和m month,因此第2个标识下应添加“m_year=year;m_month=month;”。
(3)第3个标识下准备输出yearChar数组和monthChar数组,字符数组的最后一个字符应该为NULL(0),因此第3个标识下应添加“yearChar[2]=0;monthChar[2]=0;”。
(4)m month和参数之和赋值给m month,其和可能超过12,如果超过12表示下一年了,因此m year应该加1,故先判断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/f3Np777K
0

最新回复(0)