摘要: 复合(composition)的意义和public继承完全不同。 在应用域(application domain),复合意味has-a(有一个)。在实现域(implementation domain),复合意味is-implemented-in-terms-of(根据某物实现出)。 阅读全文
posted @ 2015-03-20 22:21 智者无惧 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 绝对不要重新定义一个继承而来的缺省参数值,因为缺省参数值都是静态绑定,而virtual函数 你唯一应该覆写的东西 却是动态绑定。 阅读全文
posted @ 2015-03-20 22:18 智者无惧 阅读(83) 评论(0) 推荐(0) 编辑
摘要: 绝对不要重新定义继承而来的non-virtual函数。 阅读全文
posted @ 2015-03-20 22:14 智者无惧 阅读(68) 评论(0) 推荐(0) 编辑
摘要: virtual函数的替代方案包括NVI手法及Strategy设计模式的多种手法。NVI手法自身是一个特殊形式的Template Method设计模式。 将机能从成员函数移到class外部函数,带来的一个缺点是,非成员函数无法访问class的non-public成员。 tr1::function对象的 阅读全文
posted @ 2015-03-20 11:49 智者无惧 阅读(83) 评论(0) 推荐(0) 编辑