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

admin2015-07-20  37

问题 使用VC6打开考生文件夹下的源程序文件modil.cpp,该程序运行时有错误,请改正程序中的错误,使得程序输出:
    1,2,3,4,5,
    注意:不要改动main函数,不能增行或删行,也不能更改程序的结构,错误的语句在********error********的下面。
1  #include
2  class TestClass
3  ∥********error********
5 TestClass(int i)
6    {
7    m—i=i,
8    )
9    void print()
10    {
11    cout<<++m—i<<‘,’
12    }
13 public:
14  int m—i ;
15  };
16 int main()
17  {
18    ∥********error********
19    int i(),
20 Test TestClass data(0);
21  while(i>5)
22   {
23    ∥********error********
  24    i++;
25 data.print();
26    )
27    cout<28     return 0 ;
29  }

选项

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

解析 程序要求输出1,2,3,4,5,。主函数main()q~有while循环,调用类TestClass中的成员函数print()实现函数功能。
解题思路
(1)打开moidl.cpp调试程序,显示错误提示为第一标识下“modil.cpp(20):error C2248:’TestClass::TestClass’:cannot access private member declared 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://kaotiyun.com/show/otNp777K
0

最新回复(0)