问题 单项选择题

下面程序的执行结果为   #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的区别。

问答题
问答题 简答题