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

  • 相关阅读:
    面向对象与类
    引用数据类型
    方法
    java for 语句的用法
    java 数组
    Scanner与Random
    java基本语法
    java介绍及安装。
    数据库设计
    NFS相关、NFS服务端安装配置、exportfs命令、nfs客户端的问题
  • 原文地址:https://www.cnblogs.com/fengbohello/p/6296406.html
Copyright © 2011-2022 走看看