就class之间的关系做一个简单的定义,继承base class的class,base class可以认为class都是自己的子女。

1、public:public表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用
2、private:private表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用,私有财产神圣不可侵犯嘛,即便是子女,朋友,都不可以使用。
3、protected:protected对于子女来说,就是public的,可以自由使用,没有任何限制,而对于其他的外部class,protected就变成private。

公有继承时基类中各成员属性保持不变,基类中private成员被隐藏。派生类的成员只能访问基类中的public/protected成员,而不能访问private成员;派生类的对象只能访问基类中的public成员。

私有继承时基类中各成员属性均变为private,并且基类中private成员被隐藏。派生类的成员也只能访问基类中的public/protected成员,而不能访问private成员;派生类的对象不能访问基类中的任何的成员。私有派生得到的派生类,要想访问基类的公有成员,必须像访问私有成员一样用到成员函数。 意思就是派生类的成员函数

保护继承时基类中各成员属性均变为protected,并且基类中private成员被隐藏。派生类的成员只能访问基类中的public/protected成员,而不能访问private成员;派生类的对象不能访问基类中的任何的成员。注意:保护继承多在多继承的例子中使用

from:https://www.cnblogs.com/xuelisheng/p/9231764.html

C++中公有继承、保护继承、私有继承相关推荐

  1. 关于C++中公有继承、私有继承、保护继承的讨论

    一.文章来由 简单明了的理由,老生常谈但是没真正解决的问题,想搞清楚这个问题. 二.冗长的定义 我们先来看看这些冗长的定义: 公有继承: 当类的继承方式为公有继承时,基类的公有成员和保护成员的访问属性 ...

  2. 《C++ Primer Plus》14.2 私有继承 学习笔记

    C++(除了成员变量之外)还有另一种实现has-a关系的途径--私有继承. 使用私有继承,基类的公有成员和保护成员都将成为派生类的私有成员. (如果使用保护继承,基类的公有成员和保护成员都将称为派生类 ...

  3. 类的继承(三种继承方式)

    我只是挑着我不太会的地方整理,可能比较基础. 类的继承主要分为三类,公有继承,私有继承,保护继承. 然后主要记录一下不同的继承方法对派生类的不同作用. 1,派生类私有继承于基类. 这个时候,派生类继承 ...

  4. 公有继承/私有继承/保护继承的区别

    1.公有继承–public 公有继承时,对基类的公有成员和保护成员的访问属性不变,派生类的新增成员可以访问基类的公有成员和保护成员,但是访问不了基类的私有成员.派生类的对象只能访问派生类的公有成员(包 ...

  5. C++公有继承,保护继承,私有继承的区别

    1.公有继承–public 公有继承时,对基类的公有成员和保护成员的访问属性不变,派生类的新增成员可以访问基类的公有成员和保护成员,但是访问不了基类的私有成员.派生类的对象只能访问派生类的公有成员(包 ...

  6. 浅析C++中的is-a和has-a关系(公有继承、包含、私有继承)

    派生类和基类之间的特俗关系是基于C++继承的底层模型的. 总所周知,C++具有三种继承:公有继承.私有继承.保护继承. 最常见的就是公有继承,它建立一种is-a的关系. 如何理解is-a呢?即派生类对 ...

  7. 8.公有继承 保护继承 私有继承

    一个子类继承父类时,可按照public.private和protected方式继承父类,每种继承方式的区别如下: 1) public继承方式 基类中所有public成员在派生类中为public属性: ...

  8. 公有继承,私有继承,保护继承的区别

    一个子类继承父类时,可按照public.private和protected方式继承父类,每种继承方式的区别如下: 1) public继承方式 基类中所有public成员在派生类中为public属性: ...

  9. C++ | 公有,私有,受保护成员以及继承时的作用

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

最新文章

  1. r语言必学的十个包肖凯_家长专栏自闭症儿童语言康复训练
  2. .Net Discovery系列文章阅读索引--带你探索未知的.Net世界
  3. 计算机视觉领域最全汇总(第1部分)
  4. Java线程的状态转换
  5. C++实现对象序列化和反序列化(读写二进制文件)操作
  6. 信息学奥赛一本通C++语言——1059:求平均年龄
  7. 带女朋友回家家里人一共给了她3500我拿走了真的有错吗?
  8. 没有计算机基础可以学python-Python入门必看篇(面向小白)想学Python只看这一篇就够了...
  9. 有道云笔记语音速记功能体验:让你在移动办公中解放双手
  10. html微软雅黑无效,移动端h5不支持font-family里面的楷体、微软雅黑等字体
  11. 第二次作业:软件分析之网易云音乐
  12. 锐起无盘换服务器怎么备份数据,请问锐起无盘高手~!如何替换中毒的系统(锐起无盘系统C盘)用备份镜像或上传系统?如何做详细点本人菜鸟...
  13. 兄弟连php课程大纲,LAMP兄弟连PHP课程学习笔记 第四天 流程控制分支语句
  14. vue项目改图标_vue 项目全局修改element-ui的样式
  15. linux的磁盘busy,Linux umount 报 device is busy 的处理方法
  16. 以太坊parity安装
  17. 易中天讲座免费在线学习 免费下载
  18. 向中级程序员转变必备的10个秘诀
  19. 推荐给初学者:如何学好C语言?
  20. 二叉树的遍历(前序、中序、后序、层次)

热门文章

  1. docker简介以及优缺点
  2. java 模板方法_Java设计模式21:模板方法(Template Method)
  3. JS中用encodeURIComponent编码,后台JAVA怎么解码
  4. jQuery获取URL参数
  5. 【安全测试】:某系统短信修改密码,绕过逻辑漏洞
  6. ORM版学员管理系统2
  7. 剑指Offer——链表中环的入口结点
  8. Gradient-Based Learning Applied to Document Recognition 部分阅读
  9. C通过unixODBC连接数据库
  10. 《锋利的jQuery》要点归纳(五)jQuery与ajax的应用(上)