问题
填空题
如果不能使用多态机制,那么通过基类的指针虽然可以指向派生类对象,但是只能访问从基数继承的成员,下列程序没有使用多态机制,其输出结果是______。
#include<iostream>
using namespaee std;
class Base
public:
void print( )tout<<’B’;
class Derived:publie Base
public:
void print( )tout<<’D’;
int main( )
Derived*pd=new Derived( );
Base*pb=pd:
pb->print( );
pd->print( );
delete pd;
return 0;
答案
参考答案:BD
解析: pd先被定义为基类指针,指向派生类对象,但是不能使用多态性,故应该是调用基类的成员函数,打印B。pb是派生类对象,调用派生类的数据成员和成员函数,故打印D。