码迷,mamicode.com
首页 > 其他好文 > 详细

单例模式

时间:2017-04-03 09:24:29      阅读:119      评论:0      收藏:0      [点我收藏+]

标签:使用   程序   style   iostream   技术分享   lap   include   不能   cdb   

单例模式是一种开发模式。他在整个程序运行过程中,只能创建一个类,且提供一个函数接口。

这种思想就要求我们不能使用构造函数构造这个类,也不能使用拷贝函数拷贝这个类。

单例模式在开发过程中,是借助static 成员进行完成的。

技术分享单例模式
 1 #include <iostream>
 2 #include <memory>
 3 using namespace std;
 4 
 5 
 6 
 7 class Singleton
 8 {
 9 public:
10     static auto_ptr<Singleton> Getinstance()
11     {
12         if (instance_.get() == NULL)
13             instance_ = auto_ptr<Singleton>(new Singleton);
14         return instance_;
15     }
16     ~Singleton()
17     {
18         cout << "~Singleton ..." << endl;
19     }
20 private:
21     Singleton()
22     {
23         cout << "Singleton ..." << endl;
24     }
25     Singleton(const Singleton & other);
26     Singleton& operator=(const Singleton &other);
27      static auto_ptr<Singleton> instance_;
28 };
29 
30 auto_ptr<Singleton> Singleton::instance_;
31 
32 int main()
33 {
34     auto_ptr<Singleton> p1 = Singleton::Getinstance();
35 }

 

单例模式

标签:使用   程序   style   iostream   技术分享   lap   include   不能   cdb   

原文地址:http://www.cnblogs.com/mingdimowang-lyw/p/6661274.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!