首页 > 代码库 > 设计模式之单例模式
设计模式之单例模式
1 /////////////////////////////////////////////////////////////////////////////// 2 // 3 // FileName : singleton.h 4 // Version : 0.10 5 // Author : Jimmy Han 6 // Date : 2014/6/25 21:54 7 // Comment : 8 // 9 ///////////////////////////////////////////////////////////////////////////////10 11 #ifndef __H__12 #define __H__13 #include <iostream>14 using namespace std;15 16 class Singleton {17 public:18 static Singleton* getInstance(){19 if(uniqueInstance == NULL){20 cout << "synchronized!" << endl;21 if(uniqueInstance == NULL)22 uniqueInstance = new Singleton();23 }24 return uniqueInstance;25 }26 private: 27 static Singleton* uniqueInstance;28 29 Singleton();30 };31 32 33 #endif
1 /////////////////////////////////////////////////////////////////////////////// 2 // 3 // FileName : singleton.cpp 4 // Version : 0.10 5 // Author : Jimmy Han 6 // Date : 2014/6/25 21:54 7 // Comment : 8 // 9 ///////////////////////////////////////////////////////////////////////////////10 11 #include "singleton.h"12 #include <iostream>13 using namespace std;14 15 Singleton* Singleton::uniqueInstance = NULL;16 17 Singleton::Singleton()18 {19 cout << "Singleton class was initilized!" << endl;20 }21 22 23
1 /////////////////////////////////////////////////////////////////////////////// 2 // 3 // FileName : singleton_client.cpp 4 // Version : 0.10 5 // Author : Jimmy Han 6 // Date : 2014/6/25 21:54 7 // Comment : 8 // 9 ///////////////////////////////////////////////////////////////////////////////10 11 #include "singleton.h"12 #include <iostream>13 using namespace std;14 15 int main()16 {17 Singleton* handle = Singleton::getInstance();18 19 return 0; 20 }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。