请使用”答题”菜单或使用VC6打开考生文件夹pmjI下的工程pmjl,程序中位于每个//ERROR**********found**********水下的语句行有错误,请加以更正,不得修改程序的其他部分。更正后程序的输出应该是: A Tme 注意:只能修改

admin2016-06-12  29

问题 请使用”答题”菜单或使用VC6打开考生文件夹pmjI下的工程pmjl,程序中位于每个//ERROR**********found**********水下的语句行有错误,请加以更正,不得修改程序的其他部分。更正后程序的输出应该是:
A
Tme
注意:只能修改每个//ERROR**********found**********下的那一行,不要改动程序中的其他内容。
#include
using namespace std;
class Choice{
private:
const char answer,
public:
//ERROR**********found**********
Choice(char C){answer=C;)
一Choice(){)
void check(char x){
cout<//ERROR**********found**********
if(answer=x)
cout<<“True”<else
cout<<“False”<}
};
int main(){
//ERROR  **********found**********
Choice C=new Choice(‘A’);
C一>check(’A’);
delete C;
return 0;
}

选项

答案(1)Choice(char c):answer(c){} (2)if(answer=:x) (3)Choice*c=new Choice(’A’);

解析 主要考查类中const成员变量的初始化,容易出错的是=与==运算符,以及指针的使用。
【解题思路】
(1)C++约定:初始化eonst对象或引用类型的对象,但不能对他们赋值。在开始执行构造函数的函数体之前,必须完成初始化。初始化const或引用类型数据成员的唯一机会是在构造函数初始化列表中。
(2)判断相等使用==运算符,不是赋值号“=”。
(3)new操作符返回的是一个指针,因此使用指针变量来接收。
转载请注明原文地址:https://jikaoti.com/ti/dpE0FFFM
0

最新回复(0)