Programming 版 (精华区)

原文(plpliuly于2001/06/12 20:12粘贴) 
C++中常用的几个小技巧 
------------------------------------------------------------------------
--------
 
  也许只是一些技巧而已,不过值得反复重用就变成语言的Idioms了。(说到
Idioms,POSA认为Pattern可以分为三个层次(或者粒度),Architecture 
patterns,Design patterns,Programming language Idioms。也就是说Idioms很多
是跟语言相关的) 
1。实现抽象类(不允许实例化) 
这个可能大家都知道,把构造函数声明为protected。(当然如果类中包含纯虚函
数自然就不能实例化,但是有的抽象类需要为虚函数提供缺省实现,因此可能不包
含纯虚函数) 
2。实现final类(不允许被派生) 
class CFinalHelper 

private: 
CFinalHelper(){}; 
friend class CFinalClass; 
}; 
class CFinalClass:virtual public CFinalHelper 

...... 
}; 
3.实现禁止拷贝构造和赋值操作符 
class MyClass 

... 
private: 
MyClass( const MyClass& ); 
const MyClass& operator=( const MyClass& ); 
}; 
为了防止成员函数调用操作,这两个函数应该只有声明没有实现。 

C++中的Idioms很多很多,比如TypeTraits,SmartPointer这些都可以视为经典的 

Idioms。 

结束语:这个贴子纯粹是临时拼凑的,为什么急于发文,实在是觉得这个小组的 

话题偏的有点离谱了。我觉得还是在一个地方就做适合这个地方的事情比较好。 

 

--
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 天外飞仙]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:4.338毫秒