浙江长龙航空校园招聘:请指点一下这段C++的片段哪个地方有问题?

来源:百度文库 编辑:神马品牌网 时间:2024/04/30 19:00:44
class A
{ void f1(){……}
protected:
void f2(){……}
public:
void f3(){……}
};

class B:public A
{ A a;
public:
void f1(){a.f1();a.f2();a.f3();}
void f4(){ f1();f2();f3();}
};
……
B b;
b.f1();
b.f2();
b.f3();
……

B以public方式继承A类
所以 在void f1()中就不能访问A类中的f1()和f2()
为什么f1()也不可以呢,因为类默认为private的
所以出错误了。

class B 继承的class A 的f2()函数只能在其子类中访问,如果在其他类中访问需要重新定义一下,定义为public 才能在class B外的类中访问.