问答题 使用VC6打开 下的源程序文件modi1.cpp,该程序运行时有错,请改正其中的错误,使得程序正常运行,并使程序输出的结果为:
1
1
2
1
注意:不要改动main函数,不能增行或删行,也不能更改程序的结构,错误的语句在//********error********的下面。
#include<iostream.h>
class TestClass
{
//********error********

//********error********
const int j;
public:
TestClass()
{
//********error********
static int i=0;
cout ++i endl;
cout j
【正确答案】
【答案解析】(1)添加语句:public:
(2)int j;
(3)添加语句:j=1;
答案考生文件夹 [解析] 本题程序的功能是输出1 1 2 1。解题思路从已定源程序的main主函数开始入手,程序通过类TestClass中成员函数实现题目中要求的输出。
(1)打开modil.cpp,调试程序,显示错误提示为“modi1.cpp(22):error C2248:"j":cannot access privatemember declared in class TestClass”,第1个标识下的i变量由于被定义为私有的,其他函数不可获得,这里应该是public型,所以在第1个标识下添加“public:”。
(2)程序中对于j的调用,说明j并不是常量,所以修改j的定义,将其定义为变量,而不是常变量,即修改第2个标识下语句为“int j;”。
(3)题目中要求调用对象,输出j的值为1。原程序中j变量的使用并没有赋初始化值,输出值为乱码,所以第三个标识下添加“j=1;”。