问答题 使用VC++6.0打开 下的源程序文件1.cpp,该程序运行时有错误,请改正程序中的错误,使得程序输出:
9,8,7,6,5
注意:错误的语句在/********error********/的下面,修改该语句即可。其他的语句不能修改。
试题程序:
#include<iostream.h>
class TC
{
/********error********/
TC(int i)
{
m_i=i;
}
void print()
{
cout<<--m_i<<",";
}
public:
int m_i;
};
int main()
{
/********error********/
int i();
TC obj(10);
while(i>5)
{
/********error********/
i++;
obj.print();
}
cout<<endl;
return 0;
}
【正确答案】
【答案解析】(1)应添加“public:”。
(2)“int i()”应改为“int i(10);”。
(3)“i++;”应改为“i--;”。
答案考生文件夹 [解析] 本题主要考查的是成员的访问属性。成员的访问属性有公有、保护和私有3种,而默认的访问属性为私有,只有公有成员才能通过类的对象被访问。故应在构造函数前添加”public:”,否则该类无法被实例化。变量的初始化可以通过“=”号,也可以和初始化对象一样添加构造参数,题目已要求使用后者。本题要求输出5个数,while的循环变量i每次减1,在i>5时循环,故i初始化应为10。若循环中i每次增1,则循环永远不会退出。