问题 单项选择题

下面程序的执行结果为
   #include" iostream"
   using namespace std;
   class A
   
    int a;
    public:
     void Seta(int x) a=x;
     void Display_a( ) cout < < a < < end1;
    ;
    class B
    
     int b;
     public:
      void Setb(int x) b=x;
      void Dispaly_b( ) cout < < b < < end1;
     ;
     class C:public A,private B
     
      private:
       int c;
      public:
       void Setc(int x,int y,int z)
      c=z;Seta(x);Setb(y);
     void Display_c( ) cout < < c < < end1;     ;  ① voidmain( )  ②   ③ C cc;  ④ cc.Seta(1);  ⑤ cc.Display_a( );  ⑥ cc.Setc(2,2,3);  ⑦ cc.Dispaly_b( );  ⑧ cc.Display_c( );

A.输出为2 2 3

B.有错误在第5行

C.输出为1 2 3

D.有错误在第7行

答案

参考答案:D

解析:【命题目的】考查类的继承方法。
【解题要点】pnvate继承不能调用Display_b函数,public继承可以调用基类中非pfivate成员。
【考点链接】类的继承方式public,protected和private的区别。

单项选择题
单项选择题