请使用VC6或使用【答题】菜单打开考生文件夹proj1下的工程proj1,此工程中含有一个源程序文件proj1.cpp。其中位于每个注释“//ERROR****found****”之后的一行语句存在错误。请改正这些错误,使程序的输出结果为: Thevalu

admin2015-06-27  32

问题 请使用VC6或使用【答题】菜单打开考生文件夹proj1下的工程proj1,此工程中含有一个源程序文件proj1.cpp。其中位于每个注释“//ERROR****found****”之后的一行语句存在错误。请改正这些错误,使程序的输出结果为:
Thevalueis:10
注意:只修改注释“//ERROR****found****”的下一行语句,不要改动程序中的其他内容。
//proj1.cpp
#include
USingnamespacestd;
classMember{
//ERROR********found********
private:
Member(intval):value(val){}
intvalue;
};
classMyClass{
Memberm;
public:
//ERROR********found********
MyClass(intval)()
intGetValue()const{returnm.
value;)
};
intmain()
{
MyClass*obj=newMyClass(io);
//ERROR********found********
下列语句输出obj指向类中的value值
cout<<"Thevalueis:"<GetValue()<deleteobj;
return0;
}

选项

答案(1)public: (2)MyClass(intval):_m(val){}或MyClass(intval){_m=val} (3)cout<<"Fhevalueis:"<GetValue()<
解析 (1)主要考查考生对私有成员和公有成员的掌握,先看改错语句的下一条语句:Member(intval):value(val){},该语句是一个构造函数,因此我们可以得出此处为公有成员,因为构造函数不可能是私有成员。
(2)主要考查构造函数,构造函数要对类的成员进行初始化,因此在这里使用成员列表初始化,即MyClass(intval):_m(vaLl){}或MyClass(intval){_m=val}。
(3)指针调用类的成员函数时,应使用标识符“->”。
转载请注明原文地址:https://kaotiyun.com/show/GDNp777K
0

最新回复(0)