跳转至

C++ 继承访问说明符

继承方式为public 继承方式为protected 继承方式为private
基类成员为public public protected private
基类成员为protected protected protected private
基类成员为private 不可访问 不可访问 不可访问

定义一个类A

C++
1
2
3
4
5
6
7
8
class A {
public:
    int a;
protected:
    int b;
private:
    int c;
};

使用不同的继承方式,对应的成员访问性如下:

C++
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
class B : public A {
    // A::a -> public
    // A::b -> protected
    // A::c 不可访问
};

class C : protected A
{
    // A::a -> protected
    // A::b -> protected
    // A::c 不可访问
};

class D : private A
{
    // A::a -> private
    // A::b -> private
    // A::c 不可访问
};

References

https://blog.csdn.net/u010608296/article/details/86632533遵循CC 4.0 BY-SA

cppreference.com 派生类

评论