單列模式(餓漢)

2021-09-25 06:49:38 字數 1185 閱讀 8765

目的:為了讓類中只有乙個例項,例項不需要自己釋放

將 預設構造 和 拷貝構造 私有化

內部維護乙個 物件的指標

私有化唯一指標

對外提供getinstance方法來訪問這個指標

保證類中只能例項化唯一 乙個物件

主席案例

#includeusing namespace std;

//建立主席類

//需求 單例模式 為了建立類中的物件,並且保證只有乙個對像例項

class chairman

//拷貝構造私有化

chairman(const chairman&c)

public:

//提供get方法 訪問主席

static chairman * getinstance()

private:

static chairman * singleman;

};chairman * chairman::singleman = new chairman;

void test01()

else

//chairman *cm3 = new chairman(*cm2);

//if (cm3 == cm2)

////else

}int main()

印表機案例

#include#includeusing namespace std;

class printer

;//拷貝建構函式私有化

printer(const printer& p){};

public:

//對外提供介面訪問唯一乙個例項

static printer *getinstance()

//列印功能

void printtext(string text)

private:

static printer *singleprinter;

int m_count; //列印次數

};printer * printer::singleprinter = new printer;

void test01()

int main()

單列模式,懶漢 ,餓漢

設計模式之 單例 1 什麼是單例 就字面理解即可 乙個專案只有乙個例項物件 模式 最常見的兩種 懶漢和餓漢 區別1就在於例項化物件的時機不同 區別2 關於執行緒安全問題 public class singinstancedemo t1,t2,t3 public synchronized singin...

單列模式之餓漢式,懶漢式

懶漢式的特點是延遲載入,比如配置檔案,採用懶漢式的方法,顧名思義,懶漢麼,很懶的,配置檔案的例項直到用到的 時候才會載入。餓漢式的特點是一開始就載入了,如果說懶漢式是 時間換空間 那麼餓漢式就是 空間換時間 因為一開始就建立了例項,所以每次用到的之後直接返回就好了 1.惡漢式 public clas...

轉 單列模式懶漢式,餓漢式

1 單例模式singleton a.只能有乙個例項 b.例項必須由單例類自己建立,自己new c.所有物件共享這乙個例項 2 餓漢式 public class eagersingleton 靜態工廠方法 public static eagersingleton getinstance 3 懶漢式 p...