若有以下程序 #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 f1 ( ){ 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的成员函数f1()中调用基类A的成员函数show(),来显示基类数据成员a和b的值。主函数中,定义了派生类B的对象d,并赋初值3和4。然后调用对象d的成员函数fun()和f1(),通过上述对函数fun()和f1()的功能的描述可知,程序最后输出6和9。