zoukankan      html  css  js  c++  java
  • C++ private + protected + public

    public、protected、private修饰类的成员

    public成员可以通过对象来访问。
    private成员不能通过对象来访问。
    protected成员不能通过对象访问,但是当存在继承关系时,基类中的protected成员可以在派生类中使用。

    public、protected、private指定继承方式

    继承方式中的public、protected、private用来指明基类成员在派生类中的最高访问权限。

    public继承方式:

    • 基类中所有 public 成员在派生类中为 public 属性;
    • 基类中所有 protected 成员在派生类中为 protected 属性
    • 基类中所有 private 成员在派生类中不能使用。

    protected继承方式:

    • 基类中的所有 public 成员在派生类中为 protected 属性;
    • 基类中的所有 protected 成员在派生类中为 protected 属性;
    • 基类中的所有 private 成员在派生类中不能使用。

    private继承方式:

    • 基类中的所有 public 成员在派生类中均为 private 属性;
    • 基类中的所有 protected 成员在派生类中均为 private 属性;
    • 基类中的所有 private 成员在派生类中不能使用。

    注意:基类的private成员可以被派生类继承,并且(成员变量)会占用派生类对象的内存,它只是在派生类中不可见,导致无法使用。

    注意:在派生类中访问基类private成员的唯一方法就是借助基类的非private成员函数。

    改变访问权限

    使用using关键字可以改变基类成员在派生类中的访问权限,例如,将public改为private、将protected改为public。
    但是不能改变private成员的访问权限,因为基类中private成员在派生类中是不可见的。

  • 相关阅读:
    矩阵特征值和椭圆长短轴的关系?
    Harris角点检测原理详解
    SIFT特征提取分析
    Sift中尺度空间、高斯金字塔、差分金字塔(DOG金字塔)、图像金字塔
    图像处理与计算机视觉的经典书籍
    霍夫变换
    熔断原理与实现Golang版
    如何利用go-zero在Go中快速实现JWT认证
    如何让服务在流量暴增的情况下保持稳定输出
    企业级RPC框架zRPC
  • 原文地址:https://www.cnblogs.com/xiaobaizzz/p/12349779.html
Copyright © 2011-2022 走看看