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

admin2016-08-19  27

问题 请使用”答题”菜单或使用VC6打开考生文件夹proj1下的工程proj1,程序中位于每个//ERROR **********found**********下的语句行有错误,请加以更正,不得修改程序的其他部分。更正后程序的输出应该是:
    A
    True
    注意:只能修改每个//ERROR  **********found**********下的那一行,不要改动程序中的其他内容。
    1  {}include
    2  using namespace std;
    3  class Choice{
    4  private:
    5    const char answer;
    6  public:
    7    //ERROR  **********found**********
    8    Choice(char c)(answer=c;)
    9    ~Choice(){}
    10    void check(char x){
    11    cout<    12    //ERROR **********found**********if(answer=x)
    13    cout<<"True"<    14    else
    15    cout<<"False"<    16    }
    1  };
    2  int main(){
    3    //ERROR  **********found**********Choice c=new Choice(’A’);
    4    c->check(’A’);
    5 delete c;
    6    return 0;
    7    }

选项

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

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

最新回复(0)