问题
单项选择题
下面这个程序的结果是( )。 #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,这样就产生了二义性,所以程序会出错。