2017计算机考试程序改错步骤,计算机二级C++练习题:程序改错题

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

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

00f80025fe31d830314dae0015340b33.png

计算机二级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<

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

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

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

classBase

classD1

classD2

classD3

finBase

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

#include

classBase

{public:

Base(){cout<

voidf(){cout<

classD1:virtualpublicBase

{public:

D1(){cout<

voidf(){cout<

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

classD2:publicBase

{public:

D2(){cout<

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

classD3::publicD1,publicD2

{public:

D3(){cout<

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值