C 設計模式 單例設計模式

2021-10-25 13:14:11 字數 904 閱讀 5279

效果:

實現步驟:

將建構函式私有化。

在類中定義乙個靜態的指標變數(一般設為私有),並在類外初始化為空

定義乙個返回值為類指標的靜態成員函式,如果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...