问题 单项选择题

下面这个程序的结果是( )。  #include<iostream.h>  classA  {    private:      inta;    public:      voidseta( );intgeta( );};  voidA::seta( )  {a=1;}  intA::geta( )  {returna;}  classB  { private:    inta;   publiC:    voidseta( );intgeta( );};  voidB::seta( )  {a=2;}  intB::geta( )  {returna;}  classC:publicA,publicB  { private:      intb;    public:      voiddisplay( );};  voidC::display( )  { int b:geta( );    cout<<b;}  voidmain( )  {  Cc;    c.seta( );    c.display( );}

A.1

B.2

C.随机输出1或2

D.程序有错

答案

参考答案:D

解析:在类A中有geta( )函数,在类B中也有geta( )函数,类C继承了类A和类B,这样就产生了二义性,所以程序会出错。

单项选择题
单项选择题