设计模式4:单例模式

单例模式的核心是有且仅有一个对象实例,其本质是私有构造函数。由于构造函数是私有的,外部代码无法访问该类的内部代码,所以只能通过提供接口的形式来获取该类的实例。类的提供者,可以在类内部对实例化的对象进行控制,当然,这里不涉及到多线程编程下的单例问题。

单例模式应该是设计模式中最简单的一个,步骤如下:

1、设计一个类,将其构造函数的访问权限声明为private

class MyClass

{

private:MyClass(){}

}

2、提供一个供外部代码获取类实例的函数

class MyClass

{

private:MyClass* m_pInstance;

private:MyClass(){}

public:static MyClass* GetInstance()

{

if (m_pInstance==0) { m_pInstance = new MyClass(); return m_pInstance;}

}

public: void SayHello(){std::count<<"hello, you."<<std::endl;}

}

3、在外部代码中调用类的方法

int main()

{

MyClass *pMyClass = MyClass::GetInstance();

pMyClass->SayHello();//调用

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容