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

admin2010-06-06  41

问题 下列程序的运行结果是【 】。
# 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;
   obi=new C;
   obj->use()
   delete obj;
}

选项

答案in C

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

最新回复(0)