填空题 如果不使用多态机制,那么通过基数的指针虽然可以指向派生类对象,但是只能访问从基类继承的成员。下列程序没有使用多态机制,其输出结果是 1。 #include using namespace std; class Base{ public: void print2{cout<<′B′;}}; class Derived:public Base{ public: void print3{cout<<′D′;}} int main4 { Derived*pd=new Derived5; Base*pb=pd; pb->print6; pd->print7; delete pd; retum 0: }
  • 1、
【正确答案】 1、BD    
【答案解析】在C++中,一个基类指针可以用于指向它的派生类对象,而且通过这样的指针调用虚函数时,被调用的是该指针实际所指向的对象类的那个重定义版本。基类中的实函数也可以在派生类中重定义,但重定义的函数仍然是实函数。在实函数的情况下,通过基类指针所调用的只能是基类的那个函数版本,无法调用到派生类中的重定义函数。