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

 

如有错误,欢迎指正!

posted @ 2013-06-22 22:21  章驰  阅读(260)  评论(0)    收藏  举报