C++public、protected和private的区别

  • 在类中的区别
  • 在继承时的区别

在类中的区别

学习C++这三个关键字是比较基础且常见的,下面先简单介绍下这三个关键字在类内的作用:

  1. public:公有的,说明声明在public后面的成员所有人都是可以使用的,比如一个公有成员变量可以直接使用该类的对象"."出来这个成员,如果这个成员是protected和private都需要通过public的函数来访问这个成员。
  2. protected:受保护的,类内和子类可直接访问,也就是说,基类中有protected成员,子类继承于基类,那么也可以访问基类的protected成员,要是基类是private成员,则对于子类也是隐藏的,不可访问。
  3. private:私有的,只有类内的成员函数才可以访问。

在继承时的区别

在继承时也可以使用这三个限制继承方式下面介绍下这三个关键字在继承时的作用:

1.public:表示公有继承,特点是父类的public、protect成员属性在子类中保持不变但是父类的私有成员无法被子类直接访问。子类成员函数可以直接访问父类的public、protect成员,子类的对象只能访问基类的public成员。
2. protected:表示保护继承,特点是基类的public、protect成员属性在子类中都会成为子类的protected成员。但是父类的私有成员无法被子类直接访问。子类成员函数可以直接访问父类的public、protect成员,子类的对象只能访问基类的public成员。
3. private:私有继承,特点是基类的public、protect成员属性在子类中都会成为子类的private成员。但是父类的私有成员无法被子类直接访问。子类成员函数可以直接访问父类的public、protect成员,子类的对象只能访问基类的public成员。
父类中的private成员从物理结构上来说确实是被子类继承了,但是子类是无法直接访问的,可以通过继承父类中访问父类私有成员的public或protected方法来访问父类的私有成员。

以上内容均是作者查阅资料加自己理解,如有疑问,望读者不吝赐教,谢谢!

C++public、protected和private的区别相关推荐

  1. C++中public,protected,private的区别

    C++中public,protected,private个人总结为两种概念,一个宗旨. 两种概念: 概念一:静态的 在C++中一个类的成员的访问级别可分为public,protected,和priva ...

  2. abstract类中不可以有private的成员_C++中public、protected、private的区别

    1.访问范围 private:只能由该类的成员函数.友元的成员函数访问,不能被其他类的成员函数访问,即使是该类的对象也不能直接访问 protected:可以被该类中的成员函数访问.子类中的成员函数访问 ...

  3. C++ Protected和Private的区别

    主要区别在于派生类可以访问基本的Protected成员和方法,而无法访问基本的private成员和方法,其余是一样的. 实例代码 // VBaseTime.cpp : 定义控制台应用程序的入口点. / ...

  4. java public_java中public,private,protected和default的区别

    类中的数据成员和成员函数据具有的访问权限包括:public.private.protect.default(包访问权限) 作用域       当前类     同一package 子孙类   其他pac ...

  5. Java 修饰符 public/private/protected/不写的区别

    修饰符 本类 同包 子孙类 其他包 public ✅ ✅ ✅ ✅ protected ✅ ✅ ✅ ❌ 默认 ✅ ✅ ❌ ❌ private ✅ ❌ ❌ ❌ public:public表明该数据成员.成 ...

  6. java friendly 子包,黑馬程序員 java 修飾符類型(public,protected,private,friendly)

    這四個作用域的可見范圍如下表所示. 說明:如果在修飾的元素上面沒有寫任何訪問修飾符,則表示friendly. 作用域    當前類 同一package 子孫類 其他package public   √ ...

  7. java中的private public protected

    1.public:public表明该数据成员.成员函数是对所有用户开放的,所有用户都可以直接进行调用 2.private:private表示私有,私有的意思就是除了class自己之外,任何人都不可以直 ...

  8. java class private_Java class 中public、protected 、friendly、private的区别

    转载自:http://hi.baidu.com/ceoct/item/7e136a2417ba6f896f2cc33c Java class 中public.protected .friendly.p ...

  9. C++中类的继承方式的区别以及private public protected 范围

    第一:private,public,protected方法的访问范围. private: 只能由该类中的方法访问,不能被该类的对象访问. protected: 可以被该类中的方法和其友元函数访问,但不 ...

最新文章

  1. A站、B站、C站、D站、E站、F站、G站、H站、I站、J站、J站、L站、M站、N站…Z站?...
  2. HJ10 字符个数统计
  3. Pyinstall打包多个python脚本,包含DLL文件
  4. 计蒜客 91 地铁 HDU 5263 平衡大师(二分+网络流)
  5. java coin介绍_代码示例中的Java 7:Project Coin
  6. 矩阵相乘的strassen算法_矩阵乘法的Strassen算法+动态规划算法(矩阵链相乘和硬币问题)...
  7. 总结一下优化算法关系【压缩传感】【图像逆问题】
  8. 设计素材模板|春节要来了,素材准备好了么?
  9. python config模块_用Python内置模块处理ini配置文件
  10. pycharm不认识numpy?_深度学习(CV方向)入坑不完全指南
  11. windows查看及配置路由
  12. Linux下编译安装Jsoncpp及应用实例
  13. 快速排序QuickSort
  14. 2019年第四次课程设计实验报告
  15. 管理小故事精髓 100例
  16. knx ets5安装
  17. 安卓双摄像头录像_USB双摄像头app手机版下载-USB双摄像头apk安卓版下载 - 口袋手机站...
  18. 一机玩转docker之六:搭建crucible
  19. 客户关系管理 数据库设计案例
  20. Unity 组合键输入及容易忽略的问题

热门文章

  1. AI打拐,国内首次采用AI识别,找寻失踪10年儿童
  2. Robolectric之Shadows
  3. 保健常识小贴士.今日阅读
  4. Mask RCNN源码解读
  5. android 实现APP重启,华为亲测
  6. Android4.2距离感应器
  7. Python实现冒泡排序法
  8. 著名的 南京长江大桥 南引桥发生火灾
  9. SpringBoot+ElasticSearch7.x+JPA配置多数据源
  10. CMOS图像传感器设计重点