设计与模式
文章平均质量分 82
tonywearme
暂无
展开
-
从信息隐藏的一个需求看C++接口与实现的分离
让我们从stackoverflow上一个同学的问题来开始。问题的原型是这样的(原问题见:class member privacy and headers in C++): Portaljacker:“有一个类A, 有一些共有成员函数和私有数据,如下所示。” class A { public: X getX(); Y getY(); Z getZ(); .. private原创 2011-11-02 00:07:21 · 6492 阅读 · 9 评论 -
纯虚函数的默认实现
在帮新同事进行代码审查的时候,常常会发现这样的问题:代码中原有基类B和派生类D1,现在新加一个派生类D2,它有一个函数f2()。由于经验不足,新同事并没有注意到D1也有类似的函数f1()。于是造成了类似的代码出现在了两个地方,代码冗余造成将来的维护工作异常困难。注意到f()实际上是一个通用的行为,我们可以把它抽出来放到基类中,如下所示。 class B { public: virtual原创 2011-11-16 22:40:36 · 12048 阅读 · 8 评论