确定你的public继承塑模出is-a关系

public inhritance(公开继承)意味着"is-a"(是一种)的关系。

如果你令class D(“Derived”)以public形式继承class B(“Base”), 你便是告诉编译器,每一个类型为D的对象也是一个类型为B的对象,反之不成立。B是比D表现出更一般化的概念,而D比B表现出更特殊化的概念。

请记住:

  • "public继承"意味is-a。适用于base classes身上的每一件事情一定也适用于derived classes身上,因为每一个derived class对象也都是一个base class对象。

32. Make Sure public inheritance models is-a.相关推荐

  1. [翻译] Effective C++, 3rd Edition, Item 32: 确保 public inheritance 模拟 is-a(上)

    Item 32: 确保 public inheritance 模拟 "is-a" 作者:Scott Meyers 译者:fatalerror99 (iTePub's Nirvana ...

  2. 《Effective C++》第三版 第六章 继承与面向对象设计 32~35条例

    文章目录 条款32:确定你的 `public` 继承塑膜出 is-a 关系 故事引入规则 案例说明 小结上代码 公有继承用法 企鹅不会飞 企鹅会飞,但那是错的! 总结 请记住 条款33:避免遮掩继承而 ...

  3. C++进阶_Effective_C++第三版(六) 继承与面向对象设计 Inheritance and Object-Oriented Design

    继承与面向对象设计 Inheritance and Object-Oriented Design 面向对象编程已经风靡编程界,关于继承.派生.virtual函数等等需要深入了解. 32.确定你的pub ...

  4. Effective C++ 中文版(第三版)读书笔记 更新ing~

    Effective C++ 中文版(第三版)持续更新ing 让自己习惯C++ 条款1 视c++为一个联邦 条款2 尽量以const,enum,inline替换#define 条款3 尽可能使用cons ...

  5. 《Effective C++》》阅读笔记

    第一章    Accustoming Yourself to C++ 1           View C++ as a federation of language (1).             ...

  6. (6)继承与面向对象设计- Effective C++改善程序与设计的55个具体做法(Effective C++: 55 Specific Ways to Improve Your Programs)

    文章目录 32. 确定你的public继承塑模出is-a关系(Make sure public inheritance models "is-a") 33. 避免遮挡继承而来的名称 ...

  7. Effective C++改善程序与设计的55个具体做法笔记

    Scott Meyers大师Effective三部曲:Effective C++.More Effective C++.Effective STL,这三本书出版已很多年,后来又出版了Effective ...

  8. Morgan Stanley OA题库

    原地址:http://blog.csdn.net/donhao/article/details/5661039 [Q1] Which of the following statements accur ...

  9. Public Private Protect Inheritance and access specifiers

    In the previous lessons on inheritance, we've been making all of our data members public in order to ...

  10. 32:确定你的public继承塑膜出is-a关系

    "继承"可以是单一继承或多重继承,每一个继承连接可以是public,protected或private,也可以是virtual或non-virtual.然后是成员函数的各个选项:v ...

最新文章

  1. 高防服务器如何进行防御措施
  2. Android开发工具:Git,Github,GitBook
  3. 敏捷冲刺每日报告一(Java-Team)
  4. import lombok 报错_Android上使用Lombok和set、get方法告别
  5. unet实现区域分割
  6. HTML5 css链接添加不同的样式
  7. cocos2dx linux eclipse,如何将cocos2dx移植到eclipse上?
  8. dram和nand哪个难生产_空调哪个牌子好 推荐质量最好又省电的品牌
  9. oracle 添加登陆文件路径
  10. Python 爬虫 ——html 页面的认识
  11. 添加icon_(icon)冬季检查保养篇
  12. 看英文看的头疼的一次
  13. 适用于macOS 10.15系统的暗黑破坏神2 mac版
  14. bc汇编指令用法_BC操作流程
  15. 量子研究再获突破能否成功解决核潜艇通信难题?
  16. 多伦多ajax小镇,加拿大人口普查数据公布:多伦多都市区人口600万
  17. 练习题---acmcoder上台阶问题-用Java实现
  18. 小米盒子1s真心不让我爽
  19. java 计算包含中文字符串的真实长度
  20. 【图像处理】获取图片像素点

热门文章

  1. matlab学习笔记 struct函数
  2. 功率放大芯片IR2184介绍
  3. 计算机无法访问inter,电脑网络提示无Internet访问权限解决办法
  4. Qt基于mupdf的pdf转图片
  5. 【数学】立体角,积分求球的表面积、体积
  6. 小微企业智能名片管理小程序
  7. python google 搜索结果爬取_对于 Python 抓取 Google 搜索结果的一些了解
  8. 单龙芯3A3000-7A1000PMON研究学习-(4)撸起袖子干-makefile(a)
  9. 华硕笔记本进bios按哪个键 华硕手提电脑怎么进bios设置
  10. php日历排班表,如何用Word制作超精美的日历、值班表、计划表?