问题 单项选择题

若有以下程序:
#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 Apublic:
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 ();执行程序后的结果是(
)A) 3,4
B) 6,8 C) 6,9 D) 4,3

答案

参考答案:C

解析: 此题的执行过程如下:首先Bd(3,4);语句调用B类的构造函数:B(int i,im j),B的构造函数中调用基类A的构造函数,使得a=3,b=4;d.fun()会调用函数move(3,5),使得(3,4)和(3,5)的对应部分分别相加,最后输出6,9。

单项选择题
单项选择题