singleton_2.cpp

来自「这是一些c++例程」· C++ 代码 · 共 34 行

CPP
34
字号
namespace DesignPattern_Singleton
{
	//class Singleton
	class Singleton
	{
	protected:
		Singleton() {}
		static Singleton *_instance ;
	private:
		Singleton(const Singleton&) ;
		Singleton& operator=(const Singleton&) ;
	} ;
	Singleton* Singleton::_instance = NULL ;
	//从Singleton派生子类class ConcreteSingleton
	class ConcreteSingleton : public Singleton
	{
	public:
		static Singleton* Instance() ;
	protected:
		ConcreteSingleton() {}
	} ;
	Singleton* ConcreteSingleton::Instance()
	{
	     if(_instance == NULL) 
           _instance = new ConcreteSingleton(); 
		return _instance ;
	}
}
void main()
{
	using namespace DesignPattern_Singleton ;
	Singleton *p = ConcreteSingleton::Instance() ;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?