读书笔记:Effective C++ 2.0 版,条款41(继承和模板)、条款42(私有继承)

条款41: 区分继承和模板
类型T影响类的行为吗?
如果T不影响行为,你可以使用模板。
如果T影响行为,你就需要虚函数,从而要使用继承。

条款42: 明智地使用私有继承
私有继承意味着 “用…来实现”。
私有继承意味着只是继承实现,接口会被忽略。
如果D私有继承于B,就是说D对象在实现中用到了B对象,仅此而已。
私有继承在软件 “设计” 过程中毫无意义,只是在软件 “实现” 时才有用。
尽可能地使用分层/聚合,必须时才使用私有继承。
只有继承才能访问保护成员,只有继承才使得虚函数可以重新被定义。

你可能感兴趣的:(cpp,c++)