问题
单项选择题
有如下程序:
#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。