问题 单项选择题

若有以下程序
#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。

选择题
单项选择题