设计模式之单例模式
单例模式在它的核心结构中只包含一个单例类的特殊类,通过单例类保证在整个系统中只有一个对象。
Code:
1 #include<iostream> 2 3 class A 4 { 5 public: 6 int a; 7 int b; 8 int c; 9 static A * Instance; 10 static A* getInstance() 11 { 12 if (!Instance) 13 { 14 Instance = new A; 15 } 16 return Instance; 17 } 18 }; 19 20 A * A::Instance = NULL; 21 22 void funct() 23 { 24 A *bb = A::getInstance(); 25 std::cout << bb->a << std::endl; 26 27 std::cout << bb->b << std::endl; 28 29 std::cout << bb->c << std::endl; 30 } 31 32 33 int main(int argc,char *argv[]) 34 { 35 A *aa = A::getInstance(); 36 aa->a = 1; 37 aa->b = 3; 38 aa->c = 5; 39 funct(); 40 41 std::cin.get(); 42 return 0; 43 }
这种模式在Cocos 中用到了很多,比如说CCDirector 类。
比如我们写一个工具类。使用单例都是一个不错的选择。