问题 单项选择题

下面程序的执行结果为
#include"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-b( );
⑧ cc.Display_c( );

A.输出为2 2 3

B.有错误在第5行

C.输出为1 2 3

D.有错误在第7行

答案

参考答案:D

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

选择题
单项选择题