计算机2014年二级C上机考试试题及答案1

考试站(www.examzz.com)   【考试站:中国教育考试第一门户】   2014年6月21日

程序改错题 
  使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错误,请改正其中的错误,使程序正确运行,并且使程序输出的结果为 
  0K 
  注意:错误的语句在//******error******的下面,修改该语句即可。 
  试题程序: 
  #include 
  classTC 
  { 
  public: 
  TC() 
  { 
  a=b=0: 
  } 
  private: 
  inta,b; 
  }; 
  classTCl:publicTC 
  { 
  public: 
    
  TC1() 
  { 
  } 
  //******error****** 
  virtualvoidfunc(); 
  }; 
  classTC2:publicTCl 
  { 
  public: 
  TC2() 
  { 
  a=0: 
  b=0: 
  } 
  voidfunc() 
  { 
  //******error****** 
  cout<<"OK"  } 
  private: 
  inta; 
  intb; 
  }; 
  voidmain() 
  { 
  TC20bj; 
  //******error****** 
  TCl*p=(TCl*)obj; 
  p->func(); 
  } 

 (1)应改为“virtualvoidfunc()=0;”。 
  (2)应改为“cout<<"0K"<(endl;”。 
  (3)应改为“TCl*p=(TCl*)&obj;”。 
  【解析】本题中TCl类中的func函数是纯虚函数,纯虚函数的定义格式为virtual<函数类型><函数名>((参数表>)=0”,因此第1处的语句应为“virtualvoidfunc()=0;”。func函数没有参数表。编译程序后发现第2处的语句有错误,cout流中的数据是用流插入运算符“<<”顺序加入的,因此“<”不正确,应改成“cout<<"0K"< 


相关文章