第62課 單例類模板

2021-10-03 15:40:38 字數 1606 閱讀 2954

本文內容來自於對狄泰學院 唐佐林老師 c++深度解析 課程的學習總結

單例模式

要控制類的物件數目,必須對外隱藏建構函式</font>

思路:

將建構函式的訪問屬性設定為 private

定義 instance 並初始化為 null

當需要使用物件時,訪問 instance 的值

實驗**

實現乙個單例模式類

#include

#include

using

namespace std;

class

sigleclass

public

:static sigleclass *

getinstance()

;void

print()

};sigleclass * sigleclass::c_instance =

null

;sigleclass* sigleclass::

getinstance()

return c_instance;

}int

main()

單例類模板

存在的問題

需要使用單例模式時:

解決方案

將單例模式相關的**抽取出來, 開發單例類

模板。當需要單例類時,直接使用單例類模板 。

實驗**

實現單例類模板

singleton.h

#ifndef _singleton_h_

#define _singleton_h_

template

<

typename t>

class

singleton

;template

<

typename t>

t* singleton

::c_instance =

null

;template

<

typename t>

t* singleton

::getinstance()

#endif

main.cpp

#include

#include

#include

"singleton.h"

using

namespace std;

class

test};

intmain()

執行結果:

小結

單例模式是開發中最常用的設計模式之一

單例模式的應用使得 乙個類最多只有乙個物件

可以將單例模式相關的**抽象成類模板

需要使用單例模式的灰直接使用單例類模板

C 62 單例類模板

在架構設計時,某些類在整個系統生命期中最多只能有乙個物件存在 single instance 思路要控制類的物件數目,必需對外隱藏建構函式 將建構函式的訪問屬性設定為 private 定義 instance 並初始化為 null 當需要使用物件時,訪問 instance 的值 class csing...

單例類模板

需求的提出 在架構設計時,某些類在整個系統生命期中最多只能有乙個物件存在 single instance 問題 如何定義乙個類,使得這個類最多只能建立乙個物件?要控制類的物件數目,必須對外隱藏建構函式。思路如下 程式設計實驗 單例模式初探 include include using namespac...

單例類模板

單例模式 需求的提出 在架構設計時,某些類在整個系統生命週期中最多只能有乙個物件存在 single instance 如何定義乙個類,使得這個類最多只能建立乙個物件?明確建立乙個物件,必然會呼叫建構函式。要控制類的物件數目,必須對外隱藏建構函式 思路 將建構函式的訪問屬性設定為private 定義i...