yulinlin12345
全部博文(28)
2011年(1)
2010年(13)
2009年(14)
gongping
Gevin_Ba
weizhong
于智有
kernel_
wxsrite
分类: 项目管理
2010-09-20 23:14:42
#include <iostream> /* 虚函数--运行时识别 */ class CBase { public: int loop(ssize_t counts) { while (-1 == counts || 0 == counts--) { func(); } return 0; } virtual void func(void) = 0; }; class CDerive: public CBase { public: inline void func(void) { std::cout << "virtual-derive" << std::endl; } }; /* 虚函数--编译时识别 */ template<typename derive> class CBase { public: int loop(ssize_t counts) { while (-1 == counts || 0 == counts--) { func(); } return 0; } inline void func(void) { return downcast()->func(); } protected: inline derive* downcast(void) { return static_cast<derive* > (this); } inline const derive* downcast() const { return static_cast<const derive* > (this); } }; class CDerive: public CBase<CDerive> { public: inline void func(void) { std::cout << "template-derive" << std::endl; } }; /* 虚函数--编译时识别 */ template<typename base> class CDerive: public base { public: int loop(ssize_t counts) { while (-1 == counts || 0 == counts--) { func(); } return 0; } inline void func(void) { return base::func(); } }; class CBase { inline void func(void) { std::cout << "template-derive" << std::endl; } };
上一篇:日记 [2010年09月19日]
下一篇:博客已升级,请注意变更地址
chinaunix网友2010-09-21 16:19:31
很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com
登录 注册