迈克老狼

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

    3、Ogre中的单例类实现在Ogresinglton.h

 

Code

 

 

   需要使用 Singleton 的类,只要继承它即可:

   class MyClass : public Singleton<MyClass>{//     ..}

     但在OGRE 的源码中我们可以发现,从Singleton 继承的类都Override 了Singleton
的成员getSingleton 和 getSingletonPtr。OGRE 中是这样解释的:
     Singleton的实现都在  OgreSingleton.h文件中,这意味着任何包含OgreSingleton.h 头文件的文件编译后都有 Singleton 的一份实现,这符合模板机制。但
是从别的dll 中使用基于Singleton 的类时,就会产生连接错误。子类Override 一下,把实现放在.cpp 中,就会避免该问题

    下面是我的Ogre的singleton测试代码:

 

Code

 

 

posted on 2009-11-20 21:30  迈克老狼  阅读(266)  评论(0编辑  收藏  举报