下面程序的输出结果为:Base:: fun,请将程序补充完整。 #include <iostream.h> class Base{ public: 【 】 fun(){cout<<"Base::fun"<<end1:} class Deri

admin2010-12-16  17

问题 下面程序的输出结果为:Base:: fun,请将程序补充完整。
#include <iostream.h>
class Base{
public:
     【  】   fun(){cout<<"Base::fun"<<end1:}
class Derived : public Base{
public:
     【  】   fun(){ cout<<"Derived::fun"<<end1; }
};
int main()
{
   Base  a,*pb;
   Derived b;
   pb = &b;
   pb->fun();
   return 0;
}

选项

答案virtual void void

解析 本题考核虚函数的使用。在C++中,一个基类指针(或引用)可以用于指向它的派生类对象,而且通过这样的指针(或引用)调用虚函数时,被调用的是该指针(或引用)实际指向的对象类的那个重定义版本,这样的调用称为多态调用。基类Base和派生类Derived中都定义了成员函数fun,但是有不同的实现。程序最后输出的结果为:Base::fun,表明通过对象指针pb调用的函数版本为派生类中定义的,只有把基类的fun函数定义为虚函数,才能满足要求。同时通过函数fun的定义可知函数的返回类型为void。
转载请注明原文地址:https://kaotiyun.com/show/wzVp777K
0

最新回复(0)