初学设计模式之单例模式

Posted wuhongjian

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初学设计模式之单例模式相关的知识,希望对你有一定的参考价值。

 

 1 class Singleton
 2  
 3  private:
 4      int data;
 5      static Singleton *singletonInstance;
 6      Singleton():data(0)
 7      
 8 
 9      ;
10      Singleton(const Singleton &singleton)
11      
12          data=singleton.data;
13          singletonInstance=singleton.singletonInstance;
14      ;
15      Singleton &operator=(const Singleton &m_operator)
16      
17          data=m_operator.data;
18          singletonInstance=m_operator.singletonInstance;
19          return *this;
20 
21      ;
22      ~Singleton();
23     
24  public:
25     static Singleton* getInstance()
26         
27          if (singletonInstance!=NULL)
28          
29            singletonInstance=new Singleton;
30          
31          return singletonInstance;
32      
33  ;
34 Singleton* Singleton::singletonInstance=NULL;
35 
36  int main()
37   
38      Singleton *m_singleton1=Singleton::getInstance();
39      Singleton *m_singleton2=Singleton::getInstance();
40      if (m_singleton1==m_singleton2)
41      
42          cout<<"两个实例对象相同"<<endl;
43      
44      else
45      
46            cout<<"两个实例对象不相同"<<endl;
47      
48      getchar();
49      return 0;

 

输出结果:

技术图片

 

以上是关于初学设计模式之单例模式的主要内容,如果未能解决你的问题,请参考以下文章

Java设计模式之单例模式

设计模式之单例模式

JAVA设计模式之单例模式(转)

单例模式之单例模式

JAVA设计模式之单例模式

《JAVA与模式》之单例模式