访问修饰符 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,成员函数的重写就失去了意义;

最新文章

  1. [Voice communications] 看得到的音频流
  2. 在SpringMVC框架下实现数据的国际化(即数据实现多国文字之间的转换)
  3. thinkPHP--SQL连贯操作
  4. Linux 文件描述符和重定向
  5. Scrum Meeting 7-20151209
  6. Qt 无法解析外部文件2001,2019之类的
  7. Linux:Vim
  8. GitHub 基本常用知识解答2
  9. DE1-SOC开发板上搭建NIOS II处理器运行UCOS II
  10. Android Activity初探
  11. hdu 1133 Buy the Ticket
  12. HTML5 <Audio>标签API整理(一)
  13. ajax相关
  14. boost解析XML方法教程
  15. postman传json串,以及postman官方文档
  16. 简单聊聊不可或缺的Nginx反向代理服务器--实现负载均衡【上篇】
  17. scrapy_移除内容中html标签
  18. 上传本地项目到Github
  19. java集合框架容器 java框架层级 继承图结构 集合框架的抽象类 集合框架主要实现类
  20. Python学习之装饰器进阶

热门文章

  1. cv2.putText 文字换行('\n')无法解析换行
  2. UML学习之初步总结
  3. socket TCP简单通讯
  4. .NET中StringBuilder用法实例分析
  5. 关于laravel框架分页报错的问题
  6. ThinkPHP5.0---URL访问
  7. 注意knn与kmeans的区别
  8. winedt (latex 编译器)解决中文的问题(CJK & CTEX)
  9. Project Euler 613 Pythagorean Ant(概率+积分)
  10. springboot集成shiro 实现权限控制(转)