问题 单项选择题

虚函数支持多态调用,一个基类的指针可以指向派生类的对象,而且通过这样的指针调用虚函数时,被调用的是指针所指的实际对象的虚函数,而非虚函数不支持多态调用。有如下程序: #include <iostream> using namespaee std; class Base{ public: virtual void f( ){cout<<"f0+";} void g( ){cout<<"gO+";} }; class Derived:public Base{ public: void f( ){cout<<"f+";} void g( ){cout<<"g+";} }; int main( ){ Derived d; Base*P=&d: p->f( );p->g( ); return 0; } 程序的输出结果是

A.f+g+

B.f0+g+

C.f+g0+

D.f0+g0+

答案

参考答案:C

解析: 类指针可以指向派生类对象,但是只能访问基类的数据成员和成员函数。f( )作为虚函数,在派生类中被重新定义,可以通过基类指针或者引用来访问基类和派生类中的同名函数。

单项选择题
选择题