zoukankan      html  css  js  c++  java
  • C++中 公有继承 私有继承 和保护继承的区别

    公有继承(public)、私有继承(private)和保护继承(protected)三种继承方式,可见即可以访问,不可见即不可以访问。


    1.    公有继承方式:
      基类成员的可见性对派生类来说基类的公有成员和保护成员可见:基类的公有成员和保护成员作为派生类的成员时,它们都保持原有的状态;基类的私有成员不可见:基类的私有成员仍然是私有的,派生类不可访问基类中的私有成员。
      基类成员的可见性对派生类对象来说,基类的公有成员是可见的,其他成员是不可见。


    2.    私有继承方式:
      基类成员的可见性对派生类来说基类的公有成员和保护成员是可见的:基类的公有成员和保护成员都作为派生类的私有成员,并且不能被这个派生类的子类所访问;基类的私有成员是不可见的:派生类不可访问基类中的私有成员。
      基类成员的可见性对派生类对象来说,基类的所有成员都是不可见的。


    3.    保护继承方式:
      基类成员的可见性对派生类来说基类的公有成员和保护成员是可见的:基类的公有成员和保护成员都作为派生类的保护成员,并且派生类的子类可以访问;基类的私有成员是不可见的:派生类不可访问基类中的私有成员。
      基类成员的可见性对派生类对象来说,基类的所有成员都是不可见的。

      总之 ,基类的成员,继承为派生类的成员 ,其访问属性发生了变化,对派生类的对象及派生类的子类对派生类的访问造成了影响;基类的成员访问属性没变,派生类访问基类不会变化。

  • 相关阅读:
    洛谷 P1508 Likecloud-吃、吃、吃
    Codevs 1158 尼克的任务
    2017.10.6 国庆清北 D6T2 同余方程组
    2017.10.6 国庆清北 D6T1 排序
    2017.10.3 国庆清北 D3T3 解迷游戏
    2017.10.3 国庆清北 D3T2 公交车
    2017.10.3 国庆清北 D3T1 括号序列
    2017.10.4 国庆清北 D4T1 财富
    2017.10.7 国庆清北 D7T2 第k大区间
    2017.10.7 国庆清北 D7T1 计数
  • 原文地址:https://www.cnblogs.com/GoldenEllipsis/p/11145411.html
Copyright © 2011-2022 走看看