单例类主要是为了防止重复的定义类实例,这样在整个程序中就只有一个类实例,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 };