效果:
實現步驟:
將建構函式私有化。
在類中定義乙個靜態的指標變數(一般設為私有),並在類外初始化為空
定義乙個返回值為類指標的靜態成員函式,如果2中的指標物件為空,則初始化物件,以後再有物件呼叫該靜態成員函式的時候,不再初始化物件,而是直接返回物件,保證類在記憶體中只有乙個例項。
解釋:
**:
#include
using std::cout;
using std::endl;
class
singleton
return _pinstance;
}static
void
destory()
}void
print()
private
:singleton()
//建構函式私有化
:_data(0
)~singleton()
private
:int _data;
static singleton *_pinstance;
//靜態指標變數};
singleton *singleton::_pinstance=
nullptr
;//類外初始化靜態指標變數
intmain()
//測試
結果:
分析:
2021/1/13
設計模式 C 設計模式 單例模式
設計模式 物件導向設計七大原則 設計模式 設計模式概念和分類 設計模式 c 設計模式 單例模式 設計模式 c 設計模式 工廠方法模式 設計模式 c 設計模式 抽象工廠模式 設計模式 c 設計模式 建造者模式 設計模式 c 設計模式 原型模式 作者自用的泛型單例模組 單例模式 singleton pa...
C 設計模式 單例設計模式
對於單例設計模式做乙個簡單的記錄。使用場景 如果乙個類在整個程式的執行環境中,有且僅需乙個例項,可以使用單例設計模式。singleton模式主要設計思路就是用private 或 protected 修飾建構函式,並在全域性維護唯一的例項,通過介面向外部提供這個例項。下面是簡單的 實現。singlet...
C 設計模式 (單例模式)
單例模式 顧名思義,只有乙個物件例項,即保證乙個類只有乙個物件可以使用。作用類似於乙個全域性變數,可以任意呼叫,但是比全域性變數更容易管理,使用。單例模式也有很多種實現方式 第一種實現方法 h檔案 class csock test public casyncsocket cpp檔案 csock te...