下面这个程序的结果是 #include<iostream.h> class A { private: int a; public: void seta( ) ;int geta( ) ;};

admin2010-12-16  57

问题 下面这个程序的结果是
   #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,这样就产生了二义性,所以程序会出错。
转载请注明原文地址:https://jikaoti.com/ti/yJL0FFFM
0

最新回复(0)