#pragma once
#include <Windows.h>
#include <iostream>
using namespace std;
/*
懒汉单例模式
(1)私有化构造函数禁止实例化对象
(2)私有化静态类成员指针禁止外部直接操作此指针
(3)初始化静态类成员指针为NULL
(4)创建共有成员静态方法,判断并初始化静态类成员指针
*/
class signal{
private:
signal(){};
static signal* m_pStaticSignal;
public:
~signal(){};
public:
static signal* GetSignalMainPointer()
{
if (m_pStaticSignal ==nullptr)
{
m_pStaticSignal = new signal();
}
return m_pStaticSignal;
};
void testPrint()
{
cout<<"test print..."<<endl;
}
};
signal* signal::m_pStaticSignal = nullptr;
void main(void)
{
signal* pMainPointer = signal::GetSignalMainPointer();
if (pMainPointer != nullptr)
{
pMainPointer->testPrint();
}
}
单例模式(懒汉模式)
最新推荐文章于 2024-04-18 20:00:51 发布