若有以下程序: #include using namespace std; class A { public: A(int i,int j) {a=i; b=j; } void

admin2021-05-06  27

问题 若有以下程序:
    #include
    using namespace std;
    class A
    {
    public:
    A(int i,int j)
    {a=i;
    b=j;
    }
    void move(int x,int y)
    f a+:x;
    b+=y;
    }
    void show()
    {cout<    }
    pfivate:
    int a,b;
    };
    class B:private A
    {
    public:
    B(int i,int j):A(i,j){}
    void fun()
    {
    move(3,5);
    }
    void f1()
    {
    A::show0;
    }
    };
    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 i),B的构造函数中调用基类A的构造函数,使得a=3,b=4;d.fun()会调用函数move(3,5),使得(3,4)和(3,5)的对应部分分别相加,最后输出6,9。
转载请注明原文地址:https://jikaoti.com/ti/Hfh0FFFM
0

最新回复(0)