问题
填空题
下列程序的运行结果是______。
#inclUde(iostream.h)
Class A
public:
Virtual void use()cout<<“inA\n”;;
class B:public A
public:
virtual void use()cout<<“inB\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这个重载的虚函数时,根据当前指向可确定调用子孙的同名虚函数。