问题
单项选择题
有以下程序:
#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。