问题 填空题

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

单项选择题 A3/A4型题
填空题