问题 单项选择题

虚函数支持多态调用,一个基类的指针可以指向派生类的对象,而且通过这样的指针调用虚函数时,被调用的是指针所指的实际对象的虚函数,而非虚函数不支持多态调用。有如下程序:
#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( )作为虚函数,在派生类中被重新定义,可以通过基类指针或者引用来访问基类和派生类中的同名函数。

填空题
多项选择题