问题 填空题

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

答案

参考答案:in C

解析: 本题考查虚函数和多态性。原本obj指向祖先类,随后被赋值,指向新的子孙类,则在使用use这个重载的虚函数时,根据当前指向可确定调用子孙的同名虚函数。

单项选择题
判断题