问题 单项选择题

下面这个程序的结果是#include<iostream.h>class A{ private: int a; public: void seta( );int geta( );};void A::seta( ){ a = 1;}int A::geta( ){return a;}class B{ private: int a; public: void seta( );int geta( );};void B::seta( ){a=2;}int B::geta( ){return a;}class C:public A,public B{ private: int b;public: void display( );};void C::display( ){ int b=geta( ); cout <<b;}void main( ){ C c;c.seta( );c.display( );}

A.1

B.2

C.随机输出1或2

D.程序有错

答案

参考答案:D

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

多项选择题
单项选择题