单选题
如果不使用多态机制,那么通过基类的指针虽然可以指向派生类对象,但是只能访问从基类继承的成员。有如下程序,没有使用多态机制。 #include
using namespace std; class Base{ int a,b; public: Base(int x.int y){a=x;b=y;} void show(){cout<
show(); return(); } 运行时输出的结果是
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。
提交答案
关闭