为了使广大考生在备战计算机等级考试时,更快的掌握相应知识点,下面是小编搜索整理的计算机二级C++练习题:程序改错题,供参考练习,预祝考生们考出自己理想的成绩!计算机二级C++练习题:程序改下面是小编为大家整理的计算机二级C++练习题:程序改错题(完整),供大家参考。
为了使广大考生在备战计算机等级考试时,更快的掌握相应知识点,下面是小编搜索整理的计算机二级C++练习题:程序改错题,供参考练习,预祝考生们考出自己理想的成绩!
计算机二级C++练习题:程序改错题01
使用VC6打开考生文件夹下的工程kt9_1,此工程包含一个源程序文件kt9_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下:
4,5
20
源程序文件清单如下:
#include
classA
protected:
intn,m;
public:
voidsetinta,intbm=a;n=b;
voidshowcout<<m<<","<<n<<endl;
/**********found**********/
classB:publicA
ints;
public:
voidsets=m*n;
voidshowscout<<s<<endl;;
voidmain
Bb;
/**********found**********/
b.set;
b.show;
b.set;
/**********found**********/
b.show;
【参考答案】
(1)在“”后添加分号
(2)将b.set;改为:b.A::set4,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:
Basecout<<"classBase"<<endl;
voidfcout<<"finBase"<<endl;;
classD1:virtualpublicBase
public:
D1cout<<"classD1"<<endl;
voidfcout<<"finD1"<<endl;;
/**********found**********/
classD2:publicBase
public:
D2cout<<"classD2"<<endl;;
/**********found**********/
classD3::publicD1,publicD2
public:
D3cout<<"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++练习题:程序改错题 计算机二级c语言程序改错题 计算机二级c语言程序修改题几个错误? 计算机二级c语言填空题和改错题技巧