下列程序的运行结果是______。 #include<iostream.h> class A { public: virtual void use( ) {cout<<"in A\n";} }; class

admin2010-12-16  12

问题 下列程序的运行结果是______。
   #include<iostream.h>
   class A
   {
   public:
       virtual void use( ) {cout<<"in A\n";}
   };
   class B:public A
   {
   public:
       virtual void use( ) {cout<<"in B\n";}
   };
   class C:public B
   {
   public:
       virtual void use( ){cout<<"in C\n";}
   };
   void main( )
   {
       A*obj;
       obj=new C;
       obj->use( );
       delete obj;
   }

选项

答案in C

解析 本题考查虚函数和多态性。原本obj指向祖先类,随后被赋值,指向新的子孙类,则在使用use这个重载的虚函数时,根据当前指向可确定调用子孙的同名虚函数。
转载请注明原文地址:https://kaotiyun.com/show/fLVp777K
0

最新回复(0)