问答题
请使用VC6或使用[答题]菜单打开考生文件夹proj1下的工程proj1,此工程中含有一个源程序文件proj1.cpp。其中位于每个注释“//ERROR ****found****”之后的一行语句存在错误。请改正这些错误,使程序的输出结果为:
False
注意:请勿更改参数名。只修改注释“//ERROR ****found****”的下一行语句,不要改动程序中的其他内容。
//proj1.cpp
#include <iostream>
using namespace std;
class MyClass
{
public:
// ERROR ******** found********
void MyClass (int x):flag(x) { }
void Judge ();
private:
int flag;
};
// ERROR ******** found********
void Judge ()
{
switch (flag)
{
case 0:
cout <<"False" << endl;
// ERROR******** found********
exit;
default:
cout << "True" << endl;
break;
}
}
int main ( )
{
MyClass obj (0);
obj. Judge ();
return 0;
}
【正确答案】(1)MyClass(int x):flag(x){}
(2)void MyClass::Judge()
(3)break;
【答案解析】[考点] 本题考查MyClass类,其中涉及构造函数、成员函数和switch语句。
[解析] (1)主要考查考生对构造函数定义的掌握,构造函数前不能有返回类型。
(2)类的成员函数在类外定义时要加上类名和作用域符。
(3)主要考查考生对switch语句的掌握,在switch语句中,使用break跳出。