问题
单项选择题
有如下程序: #include <iostream> using namespace std; using namespace std; class Base{ public: void fun( ){cout<<"Base::fun"<<endl:} }; class Derived:public Base{ public: void fun( ){ eout<<"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
解析: 从打印结果可以看出,在对象d调用fun( )函数时调用了基类的fun( )函数,所以,在派生类中应该显式调用基类的fun( )函数,故应该写成:Base::fun( );。