使用Vc++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错,请改正程序中的错误,使程序输出的结果为 Number=7 Number=12 注意:错误的语句在//******error******的下面,修改该语句即可。 试

admin2020-07-23  35

问题 使用Vc++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错,请改正程序中的错误,使程序输出的结果为
Number=7
    Number=12
    注意:错误的语句在//******error******的下面,修改该语句即可。
试题程序:
#include
class TC
{
public:
//******error******
TC(int i):Number=i
{
//******error******
    return Number;
}
void set(int i)
{
  Number=i:
}
void display()
{
  cout<<"Number="<  }
  private:
  int Number:
  };
  void main()
  {
  //******error******
  TC*p=Flew TC;
  p->display();
  p->set(12);
  p->display();
  return;
}

选项

答案(1)应改为“TC(int i):Number(i)”。 (2)应删除“return Number;”。 (3)应改为“TC*p=new TC(7);”。

解析 本题第1处是声明构造函数,并使用初始化列表完成成员变量的初始化,可知第1处的初始化列表错误,正确的应该是“TC(int i):Number(i)”。构造函数不能有返回值,不能用return来返回值,故第2处应将“return Number;”删除。类实例在不指定构造函数的情况下,调用的是默认无参数的构造函数,此时成员变量Number是不确定的,在定义对象时,应使用已定义的构造函数,根据输出结果可知,p指向的对象的Number初始化值为7,故第3处应改为“TC*p=new TC(7);”。
转载请注明原文地址:https://kaotiyun.com/show/9hyp777K
0

最新回复(0)