访问修饰符 public、protected、private,无论是修饰类内成员(变量、函数),还是修饰继承方式,本质上实现的都是可见性的控制。

Difference between private, public, and protected inheritance

class A  {
public: int x;
protected: int y;
private: int z;
};class B : public A {// x is public// y is protected// z is not accessible from B
};class C : protected A {// x is protected// y is protected// z is not accessible from C
};class D : private A    // 'private' is default for classes
{// x is private// y is private// z is not accessible from D
};
  • 需要说明的是,类 B、C、D 的内存结构中均包含 x, y, z (继承而来的成员),只是访问权限的不同罢了;
  • protected 修饰类内的成员,表示该成员仅对该类及其派生类可见;
  • private 继承(class D : private A )使得所有成员都变为 private(父类中的 private 成员对子类不可见,哪怕是 public 继承),其子类均可不见,也即再有新的派生类继承 class D,成员函数的重写就失去了意义;

C++ public、protected、private 继承方式的区别相关推荐

  1. C++ (public, protected, private继承)

    http://thinkinginmylife.spaces.live.com/blog/cns!E44140D5E07BEC07!137.entry 我转~~~C++5(public, protec ...

  2. C++类的继承与多重继承的访问控制【protected,private继承方式】

    在前面的练习中我们一直在使用public的继承方式,即共有继承方式,对于protected和private继承方式,即保护继承与私有继承方式我们并没有讨论. 对于单个类来说,讨论保护继承与私有继承的区 ...

  3. C++ Public, Protected, Private

    当private,public,protected单纯的作为一个类中的成员权限设置时: private: 只能由该类中的函数.其友元函数访问,不能被任何其他访问,该类的对象也不能访问. protect ...

  4. php protected 的继承,14 PHP 类的继承 [public protected private] parent 构造方法 析构方法 重写 最终类和方法 设计模式...

    类的继承 简单理解: 某个类A具有某些特征,另一个类B,也具有A类的所有特征,并且还可能具有自己的更多的一些特征,此时,我们就可以实现:B类使用A的特征信息并继续添加自己的一些特有特征信息. 基本概念 ...

  5. C++ 中的三种继承public , protected, private

    三种访问权限 public:可以被任意实体访问 protected:只允许子类及本类的成员函数访问 private:只允许本类的成员函数访问 三种继承方式 public 继承 protect 继承 p ...

  6. C++中的三种继承public,protected,private详细解析

    我们已经知道,在基类以private方式被继承时,其public和protected成员在子类中变为private成员.然而某些情况下,需要在子类中将一个或多个继承的成员恢复其在基类中的访问权限 三种 ...

  7. public protect private继承

    引自原来在CGD讨论的几点总结: 1. public继承被称为类型继承(type inheritance).往往反映is-a关系. 2. protected继承基类的所有公有成员都成为派生类的prot ...

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

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

  9. public/protected/private简介

    public/protected/private简介 #include <IOSTREAM> using namespace std; class A{ public: A(int i_, ...

最新文章

  1. 实现一个队列,使得push_rear(), pop_front() 和get_min()的时间复杂度为O(1)
  2. linux服务器 32核,Intel换成AMD 32核锐龙 Linux之父体验很好
  3. 7月10日任务 添加自定义监控项目、配置邮件告警、测试告警、不发邮件的问题处理...
  4. 足不出户,游遍七大洲,不可错过的14部地理纪录片!
  5. PyTorch中的torch.nn.Parameter() 详解
  6. 谷歌浏览器怎么设置字体 chrome默认字体设置方法
  7. stm32端口复用和重映射
  8. 们--加强菲波那切数列
  9. 如何使用Wondershare PDFelement制作PDF文件
  10. 克隆的仓库 设置全局https协议转换成git协议,加快拉取速度(git)
  11. MATLAB图像的读取和显示
  12. Windows10性能优化设置
  13. PHP教程环境--环境搭建
  14. 虚短”“虚断”两板斧,搞定运算放大器 11张大图详(转)感觉特别有用 转过来收藏...
  15. 转《七年之前和七年之后》-祭奠高考
  16. 2023华为od面经~ (笔试 HR资面 技术面 一面 二面 综面)
  17. 基因测序技术发展历史及一、二、三代测序技术原理和应用
  18. 浏览器缓存Cache
  19. php实现选择不同字段查询,laravel 实现根据字段不同值做不同查询
  20. 设备安全:防火墙总结(1)

热门文章

  1. php 判断赋值 简写,PHP IF 判断简写
  2. php mysql调用crontab_PHP中如何实现crontab代码
  3. arrays中copyof复制两个数组_Core Java - Arrays
  4. android获取上下文对象,如何在Android服务类中获取上下文
  5. 第5章 C++内存模型和原子类型操作
  6. CDH页面中Oozie的调度告警邮箱设置
  7. 配置多台机器SSH相互通信信任
  8. Hadoop与Spark的集群复制
  9. Spark利用(idea+maven+scala)创建wordcount打包jar并在spark on yarn上运行——Spark的开发
  10. Python数据结构实战——队列(Queue)