有如下程序 #include <iostream> using namespace std; class A{ public: virtual void funcl( ){ cout<<'A1'; } void func2( ) { cout<<'A2'; }; class B:public A { public: void funcl( ){ cout<<'B1'; } void func2( ){ cout<<'B2'; } }; int main( ) { A *p=new B; p->func1 ( ); p->func2( ); return 0; } 运行此程序,屏幕上将显示输出 D.A1B2
A.B1B2 B.A1A2 C.B1A2
【参考答案】
C 解析:本题考查的是虚函数的概念。在C++中,一个派生类的对象可以被它的任何一个基类的指针所指向(或被基类类型的引用所引用)。若基类和派生类中存在一模一样的成员函数,那么通过该基类指针(或引用)调用这样的成员函数,究竟是应该调用基类中的还是调用派生类中的呢?答案是:若这个成员函数被定义成虚......