使用VC6打开考生文件夹下的源程序文件modil.cpp,但该程序运行有问题,请改正main函数中的错误,使程序的输出结果是: nember=1 nember=10 nember=100 注意:不要改动main函数,不能增行

admin2021-02-22  53

问题 使用VC6打开考生文件夹下的源程序文件modil.cpp,但该程序运行有问题,请改正main函数中的错误,使程序的输出结果是:
    nember=1
    nember=10
    nember=100
    注意:不要改动main函数,不能增行或删行,也不能更改程序的结构,错误的语句在//********error********的下面。
    1    #include
    2    Class TeStClass
    3    {
    4   publiC:
    5   TestClass(int i){
    6    nember=i ;
    7    )
    8    void SetNember(int m){
    9    nember=m;
    10    }
    ii    int GetNember()const {
    12    return nember ;
    13    }
    14    void Print()const{
    15    cout<<"nember="<    16    }
    17   private:
    18    int  nember ;
    19    };
    20    void main(){
    21    //********error********
    22   TestClass obj 1;
    23    obj 1.Print();
    24   TestClass obj 2(3);
    25    //********error********
    26    obj 1.nember=10;
    27    //********error********
    28   TestClass.SetNember(100);
    29    obj 1.Print();
    30    obj 2.Print();
    31

选项

答案(1)TestClass obj1(1); (2)obj1.SetNember(10); (3)obj2.setNember(100);

解析 程序要求输出nember的值为1,10,100。从已定源程序的main主函数开始入手,可以看出程序定义了TestClass类的对象obj1和obj2,然后通过调用类的成员函数实现了题目中的输出结果。
    [解题思路]
    (1)第1个标识下,“TestClass obil;”语句是声明TestClass类的对象obj1,根据TestClass类构造函数的定义TestClass(int i),存在整型参数,并且题目要求第一个输出结果为1,所以补全参数1,即第1个标识下的“TestClassobjl(1);”。
    (2)第2个标识下的“objl.nember=10;”应该是调用成员函数SetNember赋值。在C++中成员函数的使用形式应该是:对象名.成员函数,所以修改为“objl.SetNember(10);”。
    (3)类是对象的抽象,而对象是类的具体实例。第3个标识下“TestClass.SetNember(100);”语句中的TestClass为类,并不是对象,这里应该是使用定义的对象,即obj2,修改为“obj2.SetNember(100);”。
转载请注明原文地址:https://kaotiyun.com/show/Csfp777K
0

最新回复(0)