问答题 请使用VC6或使用[答题]菜单打开考生文件夹proj1下的工程proj1,其中包含类Myaass的定义。程序中位于每个“//ERROR ****found****”下的一行语句有错误,请加以更正。更正后程序的输出结果应该是: The value is 5 The value is 10 注意:只修改每个“//ERROR ****found****”下的那一行,不要改动程序中的其他内容。 #include <iostream> using namespace std; class MyClass { public: // ERROR ********** found********** voidMyClass() {value = 0;} // ERROR ********** found********** void setValue(int val) const { value=val; } int getValue() const { return value; } private: //ERROR **********found********** int value=0; }; int main() { MyClass obj; obj.setValue(5); cout << "The value is" << obj. getValue() << endl; obj.setValue(10); cout << "The value is" << obj. getValue() << endl; return 0; }
【正确答案】(1)MyClass(){value=0;} (2)void setValue(int val) (3)int value;
【答案解析】[考点] 本题考查的是:MyClass类,其中涉及构造函数、成员函数和const函数。 [解析] (1)主要考查考生对构造函数的掌握,构造函数前不能添加任何返回类型。 (2)主要考查考生对const的掌握,由函数中value=val;语句,可知成员的值发生改变,因此不能用const。 (3)主要考查考生对私有成员的掌握,私有成员只能声明,不能赋初始值。