时间:2019-05-10标签:c ++ public vs.private

时间:2018-10-31 22:35:33

标签: c++ class inheritance

我不理解,我也确实在课堂上没有公开继承还是私有继承。 假设我们有以下代码:

class A {
    int A_a;
protected:
    int A_b;
public:
    int A_c;
};
class B : public A {
    int B_a;
protected:
    int B_b;
public:
    int B_c;
};

class C : private A {
    int C_a;
protected:
    int C_b;
public:
    int C_c;
};

我知道它必须具有对vars和func的访问权限,但是进行所有测试我确实可以理解它,而且我不知道何时应用公共继承或私有继承;

1 个答案:

答案 0 :(得分:-2)

这是简单的sheme(基类->派生类),类成员的可见性如何随不同类型的继承而改变:

公共继承

  • 公共->公共
  • 受保护->受保护
  • 私人->私人

受保护的继承

  • 公共->受保护的
  • 受保护->受保护
  • 私人->私人

私人继承:

  • 公共->私人
  • 受保护->私人
  • 私人->私人

这里有几个简单的示例https://www.tutorialspoint.com/cplusplus/cpp_inheritance.htm