问题 单项选择题

如果不使用多态机制,那么通过基类的指针虽然可以指向派生类对象,但是只能访问从基类继承的成员。有如下程序,没有使用多态机制。#include using namespace std;class Base{ int a,b; public: Base(int x.int y){a=x;b=y;}void show(){cout

A.10,2

B.30,40

C.20,30

D.50,50,

答案

参考答案:A

解析:此题考查基类对象和派生类对象之间的访同方法,pb为基类Base的指针,D1为派生类Derived的对象,由于pb=&D1指向派生类对象,也只能访问D1从基类继承的成员。所以执行pb->show()实际上也就是执行基类的show()函数,而这里的构造函数却只能由派生类D1(10,20,30,40)向基类传递过来,即Base(10,20),所以a=0 b=20。

填空题
单项选择题