计算机二级

3773考试网计算机等级考试计算机二级正文

2013计算机二级考试C++模拟试题八及答案2

来源:2exam.com 2013-9-29 21:51:43

上机部分 
  一、改错题 
  使用VC6打开考生文件夹下的工程kt5_1,此工程包含一个源程序文件kt5_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下: 
  (1,2) 
  5,6 
  (6,9) 
  源程序文件kt5_1.cpp清单如下: 
  #include
   classA{ 
  public: 
  A(inti,intj){a=i;b=j;} 
  /****************found*******************/ 
  voidMove(intx,inty){a+=x;b+=y} 
  voidShow(){cout<<"("< 
  private: 
  inta,b; 
  }; 
  classB:privateA 
  { 
  public: 
  /****************found*******************/ 
  B(inti,intj,intk,intl):(i,j){x=k;y=l;} 
  voidShow(){cout< 
  voidfun(){Move(3,5);} 
  /****************found*******************/ 
  voidf1(){Show();} 
  private: 
  intx,y; 
  };
   voidmain() 
  { 
  Ae(1,2); 
  e.Show(); 
  Bd(3,4,5,6); 
  d.fun(); 
  d.Show(); 
  d.f1(); 
  } 
  【参考答案】 
  (1)将void Move( int x, int y) {a+=x;b+=y} 
  改为:void Move( int x, int y) {a+=x;b+=y;} 
  (2)将B(int i,int j,int k,int l):(i,j) {x=k;y=l;} 
  改为:B(int i,int j,int k,int l):A(i,j) {x=k;y=l;} 
  (3)将void f1(){Show();} 
  改为:void f1(){A::Show();} 
  【试题解析】 
  (1)主要考查对表达式定义规则的掌握,此处缺少一个“;”,任何一个表达式都应该以分号作为结束标志; 
  (2)主要考查对派生类构造函数定义的掌握,参数列表中基类的成员应使用基类构造函数初始化,因此必须向基类传递参数,传递时直接使用基类名; 
  (3)主要考查对基类函数调用方法的掌握,为了调用基类的函数应该使用作用域符“::”以限定访问的位置。

触屏版 电脑版
3773考试网 琼ICP备12003406号-1