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

设计一个类,我们只能生成该类的一个实例。

时间:2016-05-02 17:11:28      阅读:328      评论:0      收藏:0      [点我收藏+]

标签:单例模式

    单例模式的要点有三个;一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。
从具体实现角度来说,就是以下三点:一是单例模式的类只提供私有的构造函数,二是类定义中含有一个该类的静态私有对象,三是该类提供了一个静态的公有的函数用于创建或获取它本身的静态私有对象。


#include<iostream>
#include<stdlib.h>
using namespace std;
class Csingleton
{
private:
	Csingleton()//构造函数私有化
	{ 
		cout<<"Csingleton()"<<endl;
	}
public:
	static Csingleton* GetInstance()
	{
	  static Csingleton* m_pInstance;//判断是否是第一次调用
	  
	  if(m_pInstance==NULL)
		{
			m_pInstance= new Csingleton();
		}
	  return m_pInstance;
	}
};
void test()
{
	Csingleton* c=Csingleton::GetInstance();
    Csingleton* s=Csingleton::GetInstance();

}
int main()
{
	test();
	system("pause");
	return 0;
}

结果:
[object Object]


本文出自 “liveyoung” 博客,转载请与作者联系!

设计一个类,我们只能生成该类的一个实例。

标签:单例模式

原文地址:http://10707042.blog.51cto.com/10697042/1769456

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