以下程序执行后的输出结果是 ( )。 #include <iostream.h> class Basel { public: void fun(){ cout<<"Basel"<<end1; } };

admin2010-03-29  26

问题 以下程序执行后的输出结果是 (   )。    #include <iostream.h>    class Basel    {    public:       void fun(){ cout<<"Basel"<<end1;  }    };    class Base2    {    public:       void fun() {  cout<<"Base2"<<end1; }    }    class Derived : public Basel,public Base2    {    };    void main()    {       Derived Obj;       Obj.fun();    }

选项 A、Basel
B、Base2
C、BaselBase2
D、程序产生二义性

答案8

解析 本题考核继承中可能出现的二义性问题;题中当派生类Derived的对象 obj访问函数fun()时,由于无法确定访问的是基类Basel中的fun()函数还是基类Base2中fun()函数,从而对函数fun()的访问产生二义性。
转载请注明原文地址:https://kaotiyun.com/show/X3jp777K
0

最新回复(0)