使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错误,请改正程序中的错误,使得程序输出: 1, 2, 3, 4, 5, 注意:不要改动main函数,不能增行或删行,也不能更改程序的结构,错误的语句在 //**

admin2019-07-10  39

问题 使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错误,请改正程序中的错误,使得程序输出:
    1,  2,  3,  4,  5,
    注意:不要改动main函数,不能增行或删行,也不能更改程序的结构,错误的语句在
//********error********的下面。
#include
Class TestClass
{
    //********error
    TestClass(int i)
    {
    m_i  =i;
    }
    void print()
    {
    cout<<++m i<<’,’;
    }
public:
    int m_i;
);
int main()
{
    //********error********
    int i();
    TestClass data(0);
    while(i>5)
    {
    //********error********
    i++;
    data.print();
    }
    cout<    return 0;
}

选项

答案(1)public:TestClass(int i) (2)int i(10); (3)i--;

解析 (1)打开moidl.cpp调试程序,显示错误提示为第一标识下“modi1.cpp(20):error C2248:TestClass::TestClass’:cannot access private memberdeclared in class TestClass’”,提示类TestClass中的构造函数TestClass被定义为私有的,无法获得,所以这里应该是public,即“public:TestClass(int i)”。
    (2)题目中要求输出结果为1,2,3,4,5,即循环5次。第三个表示while循环条件是i大于5就进行循环。“int i();”应该实现变量i的初始化,题干中要求不能删除i初始化中的括号,所以在括号中添加i的初始值。大于5且循环5次,所以i的初始值为10,而while循环中对i的操作应该是i--,这样第二个和第三个标示下应该是“int i(10);”和“i--;”。
转载请注明原文地址:https://jikaoti.com/ti/FKA0FFFM
0

最新回复(0)