问题
单项选择题
下面这个程序的结果是 #include<iostream.h> class A { private:int a; public: void seta( ) ;int geta( ) ;}; void A: :seta( ) { a=1;} int A: :geta( ) { retum 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,这样就产生了二义性,所以程序会出错。