c 模板(三) 類模板

2021-10-06 15:29:49 字數 676 閱讀 6601

類模板的格式:

template., class tn> 

class 類模板名

;

template

class vector

~vector()

private:

t* _arr;

size_t _size;

size_t _capacity;

};

這樣我們就簡單的建立乙個類模板,那麼類模板怎麼例項化呢?

類模板例項化與函式模板例項化不同,類模板例項化需要在類模板名字後跟<>,然後將例項化的型別放在<> 中即可,類模板名字不是真正的類,而例項化的結果才是真正的類。

// vector類名,vector才是型別

vector<

int> s1;

vector<

double

> s2;

之後的操作就和正常的類沒有任何的區別。

在這裡我們如果想要吧類模板中的函式在類外定義,是需要在寫乙個模板引數列表

//那析構函式舉例子

template

vector::

~vector()

類模板的成員(三類)均為模板

template class a bb 類模板不能定義物件 static int ival template 省略此句則會報錯,可驗證 所有類模板的成員均為模板,int a ival 0 第一因素即為,成員的型別包括 1。屬於什麼類 2。數值型別 3。成員函式的 話,參數列屬於型別的一部分由於是類模...

c 類模板(模板類)

人們需要編寫多個形式和功能都相似的函式,因此有了函式模板來減少重複勞動 人們也需要編寫多個形式和功能都相似的類,於是 c 引人了類模板的概念,編譯器從類模板可以自動生成多個類,避免了程式設計師的重複勞動。有了類模板的機制,只需要寫乙個可變長的陣列類模板,編譯器就會由該類模板自動生成整型 double...

C 類模板三(類模版中的static關鍵字)

類模版中的static關鍵字 includeusing namespace std 類模板本質上是c 編譯器根據型別引數建立了不同的類,c 編譯器在利用類模板生成類的時候會為每個類生成乙個static變數 那麼對於類中的static關鍵字就非常好理解了 static關鍵字修飾的變數是屬於類的 同乙個...