A-A+
以下程序执行后的输出结果是 ()。 #include <iostream.h> class
问题详情
以下程序执行后的输出结果是 ()。 #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.程序产生二义性请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:D
解析:本题考核继承中可能出现的二义性问题;题中当派生类Derived的对象obj访问函数fun()时,由于无法确定访问的是基类Basel中的fun()函数还是基类Base2中fun()函数,从而对函数fun()的访问产生二义性。