摘要

C++中类成员和类继承的private、protected和public关键字作用。


类成员中,private、protected和public

类成员变量或函数前加上关键字private、protected和public的含义如下:
public: 表示该成员允许被任意实体访问
protected: 表示该成员只允许被本类和子类的成员访问
private: 表示该成员只允许本类的成员访问

概括如下表所示:

关键字 类内访问 子类访问 类外访问
public
protected
private

注意: 类成员包括类内声明的变量和函数。

类继承时,private、protected和public

派生类继承基类的继承方式有三种:public、protected和private。
在未指定的情况下编译器会默认继承方式为protected或private方式。
不同继承方式下,基类成员在派生类中的属性将会转换,转换关系概括如下:

基类成员属性 public继承方式 protected继承方式 private继承方式
public public -> protected -> private
protected protected protected -> private
private -> 不可访问 -> 不可访问 -> 不可访问

上表所表达的意思如下:

  1. public继承方式 —— class derived : public base
    基类中所有public成员在派生类中为public属性;
    基类中所有protected成员在派生类中为protected属性;
    基类中所有private成员在派生类中不可访问。
  2. protected继承方式 —— class derived : protectedbase
    基类中的所有public成员在派生类中为protected属性;
    基类中的所有protected成员在派生类中为protected属性;
    基类中的所有private成员在派生类中仍然不可访问。
  3. private继承方式 —— class derived : private base
    基类中的所有public成员在派生类中均为private属性;
    基类中的所有protected成员在派生类中均为private属性;
    基类中的所有private成员在派生类中均不可访问。

相关/参考链接

https://www.cnblogs.com/BeyondAnyTime/archive/2012/05/23/2514964.html
http://www.weixueyuan.net/view/6359.html

C++中类成员和类继承的private、protected和public关键字作用相关推荐

  1. C++知识点47——类继承中的类型转换与访问权限控制(下)

    接上一篇文章https://blog.csdn.net/Master_Cui/article/details/109768311 五.派生类向基类转换的可访问性 当一个子类向基类转化时:有以下三条规则 ...

  2. C++ 类访问控制public/private/protected探讨

    摘要:本文是从饮水思源BBS C/C++版上一篇帖子引发的思考.当时看到帖子,突然觉得平时见惯了的,在这里似乎变得陌生了,究竟访问控制符怎样起作用,怎样使用,该怎样理解,本文试图给出讨论. 原帖如下 ...

  3. C++类中的访问权限问题---public/protected/private

    派生类继承了基类的全部数据成员和除了构造.析构函数之外的全部成员函数,但是这些成员的访问属性在派生的过程中通过继承方式可以来调整. 第一:private,public,protected方法的访问范围 ...

  4. C++的类继承与类模板

    类继承是面向对象编程中很重要(也是很难)的内容,其能有效地提高代码复用水平,提高开发的效率. 目录 基本概念 公有继承 私有继承.保护继承 包含 多重继承 类模板 基本概念 继承的种类与特点 C++中 ...

  5. 写底层 jdbc 实现mysql数据库增删改的 合并方法 的类 继承ConnectionFactory 实现DaoMessage接口: 并批量添加数据

    接口: public interface DaoMessage<T> {int ERROR = 0x400;int SUCCESS = 0x200; //接口参数默认finalint ge ...

  6. public,private,protected,default详解

    [一]public,private,protected,default public 作用:可以被该类的和非该类的任何成员访问. 注意:使用public关键字声明的类必须与java文件名保持一致,并且 ...

  7. C++中public/private/protected三种继承方式下基类成员对派生类的可见性探讨

     原文: http://blog.csdn.net/zgjxwl/article/details/4804233 1.public继承方式下 #include <iostream>   ...

  8. C++ 笔记(16)— 类和对象(类定义、类实例对象定义、访问类成员、类成员函数、类 public/private/protected 成员、类对象引用和指针)

    1. 类的定义 类定义是以关键字 class 开头,后跟类的名称.并在它后面依次包含类名,一组放在 {} 内的成员属性和成员函数,以及结尾的分号. 类声明将类本身及其属性告诉编译器.类声明本身并不能改 ...

  9. python如何定义类_Python中类的定义、继承及使用对象实例详解

    本文实例讲述了Python中类的定义.继承及使用对象的方法.分享给大家供大家参考.具体分析如下: Python编程中类的概念可以比作是某种类型集合的描述,如"人类"可以被看作一个类 ...

最新文章

  1. Ubuntu14.04 python 2.7环境下安装Scrapy
  2. linux如何添加默认路由表_Linux-如何添加路由表
  3. thrift的中文编码处理
  4. Windows打印体系结构之打印驱动框架
  5. 并发编程(CountDownLatch使用)
  6. SpringBoot 数据验证错误处理
  7. oracle LPDA,oracle中自动增长列的设置
  8. SAP Spartacus 服务器端渲染的三种可能情形
  9. ArrayList的四种初始化方法
  10. jmeter tps指标在哪里看_性能之路——性能测试连载 (3)-性能指标
  11. jact变频器故障代码_高淳JACT变频器,艾克特变频器ERR20编码器故障维修烟台市...
  12. 三菱plc232数据线驱动下载_三菱FX系列PLC没有编程电缆,通过DIY232串口下载程序...
  13. [C语言] 常量与变量
  14. 通过Java监听MySQL数据的变化
  15. Matlab图窗保存为pdf文件
  16. “一招定制LaTeX论文目录页教程“【新手速进】
  17. PPT之ppt动画的基本设置
  18. js通过class获取元素
  19. DANet(双重注意力融合网络)
  20. 我的世界(二)之奇点

热门文章

  1. Linux SD卡驱动
  2. NodeMCU连接SD读卡器
  3. 使用百度人工智能识别表格
  4. Linux如何记录运行的Bash命令?
  5. ffmpeg 音频解码一
  6. sublime text3--js智能提示插件以及其他常用插件
  7. 金额按千分位划分、数字按千分位划分
  8. PLSQL创建Oracle定时任务,定时执行存储过程
  9. unzip 解压大文件出现错误invalid zip file with overlapped components (possible zip bomb)(linux分卷解压大文件错误解决)
  10. [CocosCreator]热更新插件使用心得以及注意事项