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

admin2017-03-22  26

问题 使用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:08 month:04。
    (4)完成对month的增加函数AddMonth(int m),请在注释//********4********后添加适当的语句。
    注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
#include
class CMyTime
{
private:
    //********1********
public:
    CMyTime(int year,int month)
    {
    //********2********
    }
    void display()
    {
    char yearChar[3];
    char monthChar[3];
    yearChar[0]=
(m_year%100)/10+’0’;
    yearChar[1]=
(m_year%10)+’0’;
    monthChar[0]  =
(m_month%100)/10+’0’;
    monthChar[1]  =
(m_month%10)+’0’;
    //********3********
    cout<<"Current Time
"<<"  year:  "<"<    }
    Void AddMonth(int m)
    {
    m month=m month一1+mj
    //********4********
    m month=m month%12+1;
    }
    Void AddYeam(int n)
    {
    m_year=m_year+n;
    }
};
int main()
{
    CMyTime myTime(2006,11);
    myTime.AddMonth(5);
    myTime.display();
    myTime.AddYear(1);
    myTime.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/12;或m year=m year+m month/12;

解析 (1)第1个标识下添加CMyTime的私有成员变量m_year、m_month的声明,因此第1个标识下应添加“int m_year,m_month;”。
    (2)第2个标识下完成类成员构造函数变量的初始化,即将参数分别赋值给m_year和m_month,因此第2个标识下应添加“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应该加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/W9Ap777K
0

最新回复(0)