一、改错题
使用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()。 相关推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |