单选题 如果不使用多态机制,那么通过基类的指针虽然可以指向派生类对象,但是只能访问从基类继承的成员。有如下程序,没有使用多态机制。 #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
【答案解析】此题考查基类对象和派生类对象之间的访同方法,pb为基类Base的指针,D1为派生类Derived的对象,由于pb=&D1指向派生类对象,也只能访问D1从基类继承的成员。所以执行pb->show()实际上也就是执行基类的show()函数,而这里的构造函数却只能由派生类D1(10,20,30,40)向基类传递过来,即Base(10,20),所以a=0 b=20。