目的:為了讓類中只有乙個例項,例項不需要自己釋放
將 預設構造 和 拷貝構造 私有化
內部維護乙個 物件的指標
私有化唯一指標
對外提供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...