问题 单项选择题

有如下程序:

#include < iostream >

using namespace std;

class Base

public :

void fun() cout << "Base: :fun" <<endl;

;

class Derived : public Base

public :

void fun()

______

cout << " Derived: :fun" << endl;

;

int main()

Derived d ;

d. fun() ;

return 0 ;

已知其执行后的输出结果为:

Base : : fun

Derived : : fun

则程序中下划线处应填入的语句是( )。

A.Base. fun();

B.Base::fun();

C.Base->fun();

D.fun();

答案

参考答案:B

解析:

本题考查公用继承对基类成员的访问属性。在公用继承中,基类的公用成员和保护成员在派生类中保持原有的访问属性,其私有成员仍为基类私有。本题中想要输出Base::fun,则必须调用基类的公用成员函数fun,所以使用Base::fun();来调用基类的成员函数fun。

多项选择题
单项选择题