首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

单态类一问,该怎么处理

2012-03-06 
单态类一问templatetypenameTclassSingleton{protected:staticT*ms_Singletonpublic:Singleton(void){a

单态类一问
template   <typename   T>   class   Singleton
{
protected:
static   T*   ms_Singleton;

public:
Singleton(   void   )
{
        assert(   !ms_Singleton   );
        ms_Singleton   =   static_cast <   T*   > (   this   );
}
~Singleton(   void   )
        {     assert(   ms_Singleton   );     ms_Singleton   =   0;     }
static   T&   getSingleton(   void   )
        {     assert(   ms_Singleton   );     return   (   *ms_Singleton   );     }
static   T*   getSingletonPtr(   void   )
        {     return   (   ms_Singleton   );     }
};

//client端的代码
//Singleton的类
//Root.h
class   Root:public   Singleton <Root>
{
      public:
            void   Use();
};

上面是OGRE关于单态类的实现。我想问要不要把singleton的析构函数声明为虚函数?

[解决办法]
不要。

[解决办法]
Not Do This, Singleton class is not for inhriting.

热点排行