模拟试题

3773考试网计算机等级考试模拟试题正文

2013年9月计算机二级C++无纸化预测试题及答案二

来源:2exam.com 2013-9-22 20:07:13

 

三、改错题 
  使用VC6打开考生文件夹下的工程kt8_1,此工程包含一个源程序文件kt8_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下: 
  f1functionofderive 
  f2functionofbase 
  f4functionofbase 
  源程序文件kt8_1.cpp清单如下: 
  #include 
  classbase 
  { public: 
  /**********found**********/ 
  voidf1(){cout<<"f1functionofbase"< 
  virtualvoidf2(){cout<<"f2functionofbase"< 
  virtualvoidf3(){cout<<"f3functionofbase"< 
  voidf4(){cout<<"f4functionofbase"< 
  /**********found**********/ 
  classderive::publicbase 
  { voidf1(){cout<<"f1functionofderive"< 
  voidf2(intx){cout<<"f2functionofderive"< 
  voidf4(){cout<<"f4functionofderive"< 
  voidmain() 
  { base*p; 
  deriveobj2; 
  /**********found**********/ 
  p=obj2; 
  p->f1(); 
  p->f2(); 
  p->f4(); } 
  【参考答案】 
  (1)将void f1(){ cout<<"f1 function of base"< 
  改为:virtual void f1(){ cout<<"f1 function of base"< 
  (2)将class derive::public base 
  改为:class derive:public base 
  (3)将p=obj2; 
  改为:p=&obj2; 
  【试题解析】 
  (1)主要考查对虚函数的深刻理解,虚函数是动态联编的基础,也是实现多态性的重要方法,它可以根据不同的情况动态的选择执行哪一个函数。在派生类中实现虚函数应该满足与基类的同名函数完全相同,并且使用关键字virtual修饰,本题中由输出结果中的f1 function of derive可知,必须将基类base的成员函数f1()定义为虚函数; 
  (2)主要考查对派生类定义格式的掌握,应该使用“:”后面是继承列表,而“::”是作用域符;
  (3)主要考查类对象的定义与使用,p是一个指针类型的变量,给它的赋值应该是一个地址,即使用取地址操作符&。 

上一页  [1] [2] [3] [4] [5] [6] [7] 下一页

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