试题 百分网手机站

计算机二级C++练习题:程序改错题

2017-11-21 06:44:16 1250 1255

  为了使广大考生在备战计算机等级考试时,更快的掌握相应知识点,下面是小编搜索整理的计算机二级C++练习题:程序改错题,供参考练习,预祝考生们考出自己理想的成绩!

  计算机二级C++练习题:程序改错题01

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

  4,5

  20

  源程序文件清单如下:

  #include

  classA

  {protected:

  intn,m;

  public:

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

  voidshow(){cout<<m<<","<<n<<endl;}

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

  classB:publicA

  {ints;

  public:

  voidset(){s=m*n;}

  voidshows(){cout<<s<<endl;}};

  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()。

  计算机二级C++练习题:程序改错题02

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

  classBase

  classD1

  classD2

  classD3

  finBase

  源程序文件kt10_1.cpp清单如下:

  #include

  classBase

  {public:

  Base(){cout<<"classBase"<<endl;}

  voidf(){cout<<"finBase"<<endl;}};

  classD1:virtualpublicBase

  {public:

  D1(){cout<<"classD1"<<endl;}

   voidf(){cout<<"finD1"<<endl;}};

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

  classD2:publicBase

  {public:

   D2(){cout<<"classD2"<<endl;}};

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

  classD3::publicD1,publicD2

  {public:

   D3(){cout<<"classD3"<<endl;}};

  voidmain()

  {D3d;

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

  d.f();}

  【参考答案】

  (1)将classD2:publicBase

  改为:classD2:virtualpublicBase

  (2)将classD3::publicD1,publicD2

   改为:classD3:publicD1,publicD2

  (3)将d.f();改为:d.Base::f();

  【试题解析】

  (1)主要考查对虚基类的理解,虚基类可以解决二义性的问题,其定义方式是在继承列表中使用virtual关键字,使用虚基类可以避免程序运行中对基类函数调用的不惟一;

  (2)主要考查对类的定义方法的掌握,“::”为作用域符,此处应该使用“:”,因为后面是继承列表;

  (3)主要考查对虚基类函数调用过程的理解,只有使用"::"限定才能访问基类函数,否则将会调用自身的函数,如果该类没有该函数的定义,则会自动调用其父类的该函数,所以必须使用“::”符号。

[计算机二级C++练习题:程序改错题]相关文章:

1.计算机二级C上机:程序改错题

2.计算机二级C++练习题:改错题

3.计算机二级C++练习题:改错题及答案

4.计算机二级C上机考试程序改错题及答案

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

6.计算机二级《C语言程序设计》全真试题

7.计算机二级C语言程序设计试题及答案

8.2017年计算机二级C语言章节练习题及答案

9.计算机二级C语言巩固练习题2017

10.计算机二级《C语言》练习题及答案2016