基类
class base
{
public:
int a;
private:
int b;
protected:
int c;
}
第一种,公开继承public
class A:public base
{
.....
}
当公开继承基类之后,子类除了无法访问基类私有的b,其他都可以访问,外部可以通过子类A 访问基类a,却无法访问c。只有继承,友元才能访问变量c。
第二张,保护继承protected
class B:protected base
{
......
}
当保护继承的时候,子类同样除了无法访问基类的私有变量b,其他都可以访问,只是将变量a降级成protected类型了,外部就无法通过子类B来访问基类的变量a和c了。只能通过继承,友元来进行访问a和c。
第三种,私有继承private
class C :private base
{
......
}
当私有继承的时候,子类同样无法访问变量b,其他都可访问,将变量a和变量c降级成private了,外部无法通过子类C来进行访问变量a和c了。只能友元来进行访问。