C++继承与派生

来源:互联网 发布:linux下oracle启动监听 编辑:程序博客网 时间:2024/06/10 07:18

不同继承方式的影响主要体现在:
派生类成员对基类成员的访问权限
通过派生类对象对基类成员的访问权限

三种继承方式
公有继承:public
私有继承:private
保护继承:protected

公有继承(public)

  • 基类的public和protected成员的访问属性在派生类中保持不变,但基类的private成员不可直接访问。
  • 派生类中的成员函数可以直接访问基类中的public和protected成员,但不能直接访问基类的private成员。
  • 通过派生类的对象只能访问基类的public成员。

私有继承(private)

  • 基类的public和protected成员都以private身份出现在派生类中,但基类的private成员不可直接访问。
  • 派生类中的成员函数可以直接访问基类中的public和protected成员,但不能直接访问基类的private成员。
  • 通过派生类的对象不能直接访问基类中的任何成员。

保护继承(protected)

  • 基类的public和protected成员都以protected身份出现在派生类中,但基类的private成员不可直接访问。
  • 派生类中的成员函数可以直接访问基类中的public和protected成员,但不能直接访问基类的private成员。
  • 通过派生类的对象不能直接访问基类中的任何成员

protected 成员的特点与作用

  • 对建立其所在类对象的模块来说,它与 private 成员的性质相同。
  • 对于其派生类来说,它与 public 成员的性质相同。
  • 既实现了数据隐藏,又方便继承,实现代码重用。

总结:
这里写图片描述

这里写图片描述
注:这里的”访问”一般都只通过类内public成员函数访问.此外”访问基类的private”指的是访问从基类继承而来的private成员变量,而不是指直接访问基类中的private

0 0