问题 填空题

使用VC6打开考生文件夹下的工程test9_1,此工程包含一个源程序文件test9_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下: 4,5 20 源程序文件test9_1.cpp清单如下: #include<iostream.h> class A { protected:int n,m; public:void set(int a,int b){m=a; n=b;)void show(){cout<<m<<","<<n<<endl;) /**********found*********/ } class B:public A {int s; public:void set(){s=m*n;)void shows(){cout<<s<<endl;) }; void main() {B b; /**********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()。

单项选择题 A型题
单项选择题