私有、公共和受保护的C++自定义继承



是否可以在派生类中自动保护受保护的继承成员,以及在同一派生类中使继承的公共成员自动成为公共成员?

例如:

如果我有一个基类A,它有一些受保护的和公共的成员,并且我选择创建一个派生类B,它继承自A,那么是否可以自动将继承的受保护成员放入受保护类别中,以及CCD_ 4中公共类别中的继承的公共成员(而不是执行CCD_。

我知道我可以手动执行using Base::var,但我正在寻找更快的解决方案。

我也有视觉辅助。

以下是继承后继承成员的表示:

+--------------------------------------------------------------------------------+
|                     |                    DERIVED CLASS VIS.                    |
|   BASE CLASS VIS.   |----------------------------------------------------------+
|                     | PUBLIC DER.      | PRIVATE DER.     | PROTECTED DER.     |
+--------------------------------------------------------------------------------+
| Private     =>      | Not inherited    | Not inherited    | Not inherited      |
| Protected   =>      | Protected        | Private          | Protected          |
| Public      =>      | Public           | Private          | Protected          |
+--------------------------------------------------------------------------------+

论公共继承:

class B : public A
  1. 基类的私有成员没有派生到派生类中
  2. 基类的受保护成员派生到派生类BUT受保护
  3. 基类的公共成员也派生到派生类AND public中,它们从类外部访问该派生类AND public

最新更新