先定义两个基类:
class A {};
class B {};
C++ 支持多继承:
class C: public A, public B {};
继承基类时需要指定一个 访问修饰符,不指定时是 private,但是一般使用 public。
它们的区别是:
- 如果 C 以 public 的方式继承 A,C 将 A 的 public 方法继承为自己的 public 方法,将 A 的 protected 方法继承为自己的 protected 方法,C 不能继承 A 的 private 方法
- 如果 C 以 protected 的方式继承 A,C 将 A 的 public 方法和 protected 方法都继承为自己的 protected 方法,C 还是不能继承 A 的private 方法
- 如果 C 以 private 的方式继承 A,C 将 A 的 public 方法和 protected 方法都继承为自己的 private 方法,C 仍然不能继承 A 的 private 方法
所以,继承基类时的访问修饰符决定了子类如何处理从基类继承的 public 方法和 protected 方法。
评论区