设计模式例程

This commit is contained in:
2025-06-02 13:57:29 +08:00
commit 22124bb827
32 changed files with 2149 additions and 0 deletions

29
inc/singleton.hpp Normal file
View File

@ -0,0 +1,29 @@
#pragma once
#include "common.hpp"
class SingletonA // <20><><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD>̲߳<DFB3><CCB2><EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD>ռ任ʱ<E4BBBB><CAB1>
{
private:
SingletonA() {} // <20><><EFBFBD><EFBFBD><ECBAAF>˽<EFBFBD>л<EFBFBD><D0BB><EFBFBD>֤<EFBFBD><D6A4><EFBFBD>󲻻<EFBFBD><F3B2BBBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2B1BB><EFBFBD><EFBFBD>
SingletonA(SingletonA&) = delete;
SingletonA& operator=(const SingletonA&) = delete;
static SingletonA* m_pInstance;
public:
static SingletonA* getInstance();
};
class SingletonB // <20><><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD>̰߳<DFB3>ȫ<EFBFBD><C8AB>ʱ<EFBFBD><EFBFBD>ռ<EFBFBD>
{
private:
SingletonB() {}
SingletonB(SingletonB&) = delete;
SingletonB& operator=(const SingletonB&) = delete;
public:
static SingletonB* getInstance();
};