使用VC6打开考生文件夹下的源程序文件modil.cpp,该程序运行时有错,请改正其中的错误,使得程序正常运行,并使程序输出的结果为: 1 1 2 1 注意:不要改动main函数,不能增行或删行,也不能更改程序的结构

admin2021-05-06  31

问题 使用VC6打开考生文件夹下的源程序文件modil.cpp,该程序运行时有错,请改正其中的错误,使得程序正常运行,并使程序输出的结果为:
    1
    1
    2
    1
    注意:不要改动main函数,不能增行或删行,也不能更改程序的结构,错误的语句在//********error********的下面。   
    1    #include
    2    class TestClass
    3    {
    4    //********error********
    5
    6    //********error********
    7    const int j ;
    8    public:
    9    TeStClasS()
    10    {
    11    //********error********
    12    static int i=0;
    13    cout<<++i<    14    cout<    15    }
    16    };
    17    void mein()
    18   {
    19    TestClass obj 1;
    20    TestClass obj2 ;
    21    obj 2.J+=obj 1.j ;
    22    return;
    23  }

选项

答案(1)添加语句:public: (2)int ; (3)添加语句:j=1;

解析 本题程序的功能是输出1121。解题思路从已定源程序的main主函数开始入手,程序通过类TestClass中成员函数实现题目中要求的输出。
    [解题思路]
    (1)打开modil.cpp,调试程序,显示错误提示为“modi 1.cpp(22):error C2248:’j’:cannot access privatemember declared in class ’TestClass’”,第1个标识下的i变量由于被定义为私有的,其他函数不可获得,这里应该是public型,所以在第1个标识下添加“public:”。
    (2)程序中对于i的调用,说明i并不是常量,所以修改i的定义,将其定义为变量,而不是常变量,即修改第2个标识下语句为“intji;”。
    (3)题目中要求调用对象,输出j的值为1。原程序中j变量的使用并没有赋初始化值,输出值为乱码,所以第三个标识下添加“i=1;”。
转载请注明原文地址:https://kaotiyun.com/show/TGfp777K
0

最新回复(0)