填空题 如果不能使用多态机制,那么通过基类的指针虽然可以指向派生类对象,但是只能访问从基数继承的成员,下列程序没有使用多态机制,其输出结果是 1
#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。