问题 填空题

使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错,请改正程序中的错误,使程序输出的结果为
Number=7
Number=12
注意:错误的语句在//******error******的下面,修改该语句即可。
试题程序:
#include<iostream.h>
class TC

public:
//******error******
TC(int i):Number=i

//******error******
return Number;

void set(int i)

Number=i;

void display()

cout<<"Number="<<Number<<end1;

private:
int Number;

void main()

//******error******
TC *p=new TC;
p—>display();
p—>set(12);
p—>display();
return;

答案

参考答案:应改为“TC *p=new TC(7);”。

解析: 本题第1处是声明构造函数,并使用初始化列表完成成员变量的初始化,可知第1处的初始化列表错误,正确的应该是“TC(im i):Number(i)”。构造函数不能有返回值,不能用return来返回值,故第2处应将“return Number;”删除。类实例在不指定构造函数的情况下,调用的是默认无参数的构造函数,此时成员变量Number是不确定的,在定义对象时,应使用已定义的构造函数,根据输出结果可知,P指向的对象的Number初始化值为7,故第3处应改为“TC *p=new TC(7);”。

单项选择题 A1/A2型题
问答题 简答题