C++中的单例模式
因为还是个学生,现在学习的都是一些理论方面的东西,所以单例模式也只是贴写代码出来,和朋友交流交流。
1 #include<iostream> 2 using namespace std; 3 class CTemplate 4 { 5 private: 6 CTemplate(); 7 static CTemplate * instance;//唯一实例 8 int m_iVal ; 9 public: 10 static CTemplate* getAA(); 11 int get(); 12 void set(int iVal); 13 ~CTemplate(); 14 }; 15 16 //静态成员初始化 17 CTemplate* CTemplate::instance = NULL; 18 19 CTemplate::CTemplate() 20 { 21 cout<<"这是一个构造函数!"<<endl; 22 } 23 void CTemplate::set(int iVal) 24 { 25 m_iVal = iVal; 26 } 27 int CTemplate::get() 28 { 29 return m_iVal; 30 } 31 CTemplate::~CTemplate() 32 { 33 delete instance; 34 } 35 CTemplate* CTemplate::getAA() 36 { 37 if(NULL == instance) 38 { 39 instance = new CTemplate(); 40 } 41 return instance; 42 } 43 int main() 44 { 45 CTemplate* a = CTemplate::getAA(); 46 a->set(10); 47 CTemplate* b = CTemplate::getAA(); 48 cout<<b->get(); 49 system("pause"); 50 }
在csdn上有一篇关于单例模式比较好的文章,如果需要的朋友可以前去看看。http://blog.csdn.net/boyhailong/article/details/6645681
如有错误,欢迎指正!
浙公网安备 33010602011771号