问题 单项选择题

下面程序的执行结果为 ‘ #include"iostream" using namespace std; class A {int a;public: void Sera(int x){a=x;} void Display_a(){cout<<a<<endl;} }; class B {int b;public: void Setb(int x){ b=x;} void Dispaly_b() {cout<<b<<endl;} }; class C:public A,private B {private: int c;public: void Setc(int x,int y,int z) { c=z;Sera(x);Serb(y);} void Display_c(){cout<<c<<endl;} }; ① void main() ② { ③ 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

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

单项选择题
单项选择题