下面程序的执行结果为
#includ"iostream"
using namespace std;
class A
{
int a;
public:
void Seta(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;Seta(x);Setb(y);}
void Display_c(){cout<<c<<endl;}
};
① void main()
② {
③ C cc;
④ cc.Seta(1);
⑤ cc.Display_a();
⑥ cc.Setc(2,2,3);
⑦ cc.Dispaly_();
⑧ cc.Display_c();
}
A.输出为2 2 3
B.有错误在第5行
C.输出为1 2 3
D.有错误在第7行
参考答案:D
解析:[命题目的] 考查类的继承方法。
[解题要点] private继承不能调用Display_b函数,public继承可以调用基类中非private成员。
[考点链接] 类的继承方式public,protected和private的区别。