1 /**
2 * 设计模式:单例模式
3 * 模式作用:为类提供全局唯一的对象,通常用于工具类或保存程序运行数据
4 **/
5 #include <iostream>
6 using namespace std;
7
8 class Singleton{
9 private:
10 Singleton(){
11 cout<<"Initialize Singleton"<<endl;
12 }
13 static Singleton *instance;
14
15 public:
16 static Singleton* getInstance(){
17 if(instance == NULL){
18 Singleton::instance = new Singleton();
19 }
20 return Singleton::instance;
21 }
22
23 void testFunc(){
24 cout<<"PrintFunc."<<endl;
25 }
26 };
27
28 Singleton* Singleton::instance = NULL;
29
30 int main(){
31 Singleton::getInstance();
32 system("pause");
33 return 0;
34 }