2013年计算机二级考试C++上机模拟试题及答案(第二套)

考试站(www.examzz.com)   【考试站:中国教育考试第一门户】   2013年4月17日
  一、改错题
  使用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 尾页

相关文章