单选题 有如下程序: #include<iostream> using namespace std; class A{ public: virtual void f( ){ cout<<1;} void g( ){ cout<<2;} }; class B: public A{ public: virtual void f( ){ cout<<3;} void g( ){ cout<<4;} }; void show(A&a){a.f( ); a.g( );} int main( ){ B b; show(b): return 0; } 运行时的输出结果是
【正确答案】 D
【答案解析】[解析] 在派生类中可以重新定义从基类继承下来的虚函数。多态调用是指借助于指向基类的指针或引用的调用。C++中,一个基类指针(或引用)可以用于指向他的派生类对象,而且通过这样的指针(或引用)调用虚函数时,被调用的是该指针(或引用)实际所指向的对象类的那个重定义版本。