问题
单项选择题
若有如下程序:
#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 d(3,4);语句调用B类的构造函数,B(int i,int j),B的构造函数中调用基类A的构造函数,使得a=3,b=4;d.fun()会调用函数move(3,5),使得(3,4)和(3,5)的对应部分分别相加,最后输出6,9。