首页 > 代码库 > 实现单例类

实现单例类

 

单例类主要是为了防止重复的定义类实例,这样在整个程序中就只有一个类实例,cocos2d就是采用的单例模式
为了保证类实例只能产生一个,那么类构造函数就必须写成私有的,这样,在类外就不能调用构造函数构造新实例

第一种方式:

//静态方法也是保证单例的条件之一
 1 class Temp 2 { 3 private: 4   Temp(){} 5 private: 6   static Temp instance; 7 public: 8   static Temp getInstance() 9   {10     return instance;11   }12 };

 

第二种方式:

 1 class Temp1 2 { 3 private: 4   static Temp1 *instance; 5 private: 6   Temp1() 7   { 8   instance = nullptr; 9   }10 public:11   static Temp1 *getInstance()12   {13     if (instance == nullptr)14     {15       instance = new Temp1();16     }17     return instance;18   }19 };