首页 > 代码库 > 《Effective C++》之条款32:确定你的public继承塑模出is-a关系
《Effective C++》之条款32:确定你的public继承塑模出is-a关系
《Effective C++》
条款32:确定你的public继承塑模出is-a关系
Public inheritance(公开继承)意味“is-a”的关系。
例子如下:
class Person{ ... }; class Student : public Person{ ... }; void eat(const Person& p);//任何人都会吃 void study(const Student& s);//只有学生才到校学习 Person p;//p是人 Student s;//s是学生 eat(p);//没问题,人吃 eat(s);//没问题,学生吃 study(s);//没问题,学生学习 study(p);//错误!!!p不是学生,学习不是它的功能
总结:
public继承意味is-a。适用于base classes身上的每一件事情一定也适用于derived classes身上,因为每一个derived class对象也都是一个bass class 对象。
2016-11-09 11:40:42
本文出自 “做最好的自己” 博客,请务必保留此出处http://qiaopeng688.blog.51cto.com/3572484/1871009
《Effective C++》之条款32:确定你的public继承塑模出is-a关系
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。