问题 单项选择题

以下程序执行后的输出结果是 ( )。
#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()的访问产生二义性。

单项选择题
问答题