zoukankan      html  css  js  c++  java
  • C++中的三种继承关系

    C++中的三种继承关系


    先看类中声明成员时的三种访问权限

    • public : 可以被任意实体访问

    • protected : 只允许子类及本类的成员函数访问

    • private : 只允许本类的成员函数访问

    在类继承时也是 public、protected 和 private 三种方式, 当成员的访问权限和继承相结合时,得到的就是C++中对成员的综合权限了。


    声明类成员时的权限与继承时的权限组合后的结果:

    基类中继承方式子类中对基类成员的访问权限
    public public public
    public protected protected
    public private private
    protected public protected
    protected protected protected
    protected private private
    private public 子类无权访问
    private protected 子类无权访问
    private private 子类无权访问

    由以上组合结果可以看出

    1、public继承不改变基类成员的访问权限

    2、private继承使得基类所有成员在子类中的访问权限变为private

    3、protected继承将基类中public成员变为子类的protected成员,其它成员的访问 权限不变。

    4、基类中的private成员不受继承方式的影响,子类永远无权访问。


    在子类中恢复基类的访问权限

    C++支持以两种方式实现该目的

    • 方法一,使用using 语句,这是C++标准建议使用的方式

    • 方法二,使用访问声明,形式为 base-class::member;, 位置在子类中适当的访问声明处。(注,只能恢复原有访问权限, 而不能提高或降低访问权限)

    同步发布:http://www.fengbohello.top/point/p/838

    参考:http://blog.csdn.net/zhouwei1221q/article/details/47953513

  • 相关阅读:
    NOI Online 2020 提高组游记
    【HDU5840】This world need more Zhu
    CSP-S 2019 AFO记
    防错笔记
    关于Blog
    题解 【UER #6】逃跑
    动态规划杂题选记
    有趣计数题选做
    题解 [POI2012] Leveling Ground
    xioa han 带画家!
  • 原文地址:https://www.cnblogs.com/fengbohello/p/6296406.html
Copyright © 2011-2022 走看看