问题 单项选择题

有以下程序: #include <iostream> using namespace std; class A { public: A(int i,int j){ a=i; b=j;} void move(int x,int y){ a+=x; b+=y;} void show(){ cout<<a<<","<<b<<end1;} private: int a,b; }; class B: private A { public: B(int i,int j): A(i,j) {} void fun(){ move(3,5); }void fl () { A::show(); } }; int main() { B d(3,4);d.fun();d.f1();return 0; } 程序执行后的输出结果是

A.3,4

B.6,8

C.6,9

D.4,3

答案

参考答案:C

解析: 本题考核派生类的应用。本题中,类B是类A的私有派生类,在类B的成员函数fun中调用基类A的成员函数move,并传入实参3和5。在类B的成员函数 fl中调用基类A的成员函数show,来显示基类数据成员a和b的值。主函数main中,定义了派生类B的对象d,并赋初值3和4。然后调用对象d的成员函数fun和 fl,通过上述对函数fun和n的功能的描述可知,程序最后输出6和9。

多项选择题
单项选择题