zoukankan      html  css  js  c++  java
  • C++的public、protected、private 详解

    1、对于单个类来说,这三个范围限定符的意义如下:
    公有成员(public member) 在程序的任何地方都可以被访问。实行信息隐藏的类将其public 成员限制在成员函数上,这种函数定义了可以被一般程序用来操纵该类类型对象的操作
    私有成员(private member) 只能被成员函数和类的友元访问。实行信息隐藏的类把其数据成员声明为private
    被保护成员(protected member) 对派生类derived class 就像public 成员一样,对其他程序则表现得像private

    总之,对于单个类的成员函数来说,无论成员变量是public、protected还是private,他都可以访问,但是,对于类的对象(也就 是类的实例 instance)来说,只能访问public类型的变量和成员函数,不能访问protected和private类型的

    2、对于类继承来说,也有public、protected和private三种方式的继承,这三种继承的定义如下(以下都假设A是基类,B是派生类):

    public继承:A类中public类型成员在B中还是public的,A类中protected类型成员在B中是protected的,A类中private类型成员在B中不可见

    protected继承:A类中public类型的成员在B中变成protected类型,A类中protected类型的成员在B中还是protected类型,A类中private类型的成员在B中不可见

    private继承:A类中public和protected类型的成员在B中全变成private类型,A类中private类型的成员在B中不可见
  • 相关阅读:
    html标签嵌套规则
    关于setTimeout和Promise执行顺序问题
    vue基础
    new操作符具体干了什么
    ["1", "2", "3"].map(parseInt)
    线性表
    树的一些概念和性质
    A*与IDA*
    树上启发式合并
    启发式合并
  • 原文地址:https://www.cnblogs.com/super119/p/2005625.html
Copyright © 2011-2022 走看看