试题 百分网手机站

12月计算机二级C++上机改错题训练

时间:2020-09-21 10:58:54 试题 我要投稿

2016年12月计算机二级C++上机改错题训练

  计算机二级对于很多考生来说还是比较有难度的,那么怎样顺利通过二级考试呢?这就需要大家平时多练习和找方法了。以下是百分网小编整理的2016年12月计算机二级C++上机改错题训练,希望对大家有帮助!

  改错题一:

  使用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是一个指针类型的变量,给它的赋值应该是一个地址,即使用取地址操作符&。

  改错题二:

  使用VC6打开考生文件夹下的工程kt9_1,此工程包含一个源程序文件kt9_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下:

  4,5

  20

  源程序文件清单如下:

  #include

  classA

  { protected:

  intn,m;

  public:

  voidset(inta,intb){m=a;n=b;}

  voidshow(){cout<

  /**********found**********/ }

  classB:publicA

  { ints;

  public:

  voidset(){s=m*n;}

  voidshows(){cout<

  voidmain()

  {

  Bb;

  /**********found**********/

  b.set();

  b.show();

  b.set(); /**********found**********/

  b.show();

  }

  【参考答案】

  (1)在“}”后添加分号

  (2)将b.set();改为:b.A::set(4,5);

  (3)将b.show();改为:b.shows();

  【试题解析】

  (1)主要考查对类定义格式的掌握,类的结尾应该使用";";

  (2)主要考查对基类与派生类函数调用关系的掌握,根据所要求的输出结果,应该调用的函数为类A的set,而不是类B自身的set函数,应该避免调用的二义性;

  (3)主要考查对继承与派生的理解,由所要求输出结果可知正确:b.shows()。

【2016年12月计算机二级C++上机改错题训练】相关文章:

计算机二级C上机:程序改错题11-09

计算机二级《C++》上机试题及答案09-03

2017年9月计算机二级考试C++上机操作题09-27

计算机二级C++上机考试试题09-27

计算机二级C++上机综合应用题09-27

计算机二级C++练习题:改错题09-29

计算机二级考试C++上机考试试题10-01

计算机二级考试C++上机试题选择题09-28

计算机二级考试C++上机试题单选题09-28

全国计算机二级《C++》上机试题附答案08-25