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中不可见
  • 相关阅读:
    Serverless
    Kubernetes
    下一代微服务-ServiceMesh
    SOA服务治理
    微服务架构
    RPC之Thrift
    【MySQL】MySQL高可用架构之MHA
    远程通信的几种选择(RPC,Webservice,RMI,JMS的区别)
    Redis与Memcached的区别
    LVS简介
  • 原文地址:https://www.cnblogs.com/super119/p/2005625.html
Copyright © 2011-2022 走看看