C 中的模板(類模板 模板類 模板函式)

2021-10-08 03:42:03 字數 830 閱讀 5744

(1)class :一般class用於定義類,在模板引入c++後,最初定義模板的方法為:template,這裡class關鍵字表明t是乙個型別;

(2)typename :為了避免class在這兩個地方的使用可能給人帶來混淆,所以引入了typename這個關鍵字,它的作用同class一樣表明後面的符號為乙個型別,定義模板的方法為:template。

(3)在模板定義語法中關鍵字class與typename的作用完全一樣。

乙個類模板(類生成類)允許使用者為類定義個一種模式,使得類中的某些資料成員、預設成員函式的引數,某些成員函式的返回值,能夠取任意型別(包括系統預定義的和使用者自定義的)。

相反,如果乙個類中的資料成員的資料型別不能確定,或者是某個成員函式的引數或返回值的型別不能確定,就必須將此類宣告為模板,它的存在不是代表乙個具體的、實際的類,而是代表一類類。

templateclass test

test(t k);//引數

~test(){}

void print();

t operator+(t x);//返回值,可將operator+理解為乙個函式名

private:

t n;//成員函式

const t i;

};

如果在類外定義成員函式,若此成員函式中有模板引數存在,則除了需要和一般類的類外定義成員函式一樣的定義外,還需要在函式外進行模板宣告。

templatevoid test::test(t k)

使用方法:

int main()

C 中的模板(函式模板,類模板)

1.模板是生成類或函式的框架,模板使用形參,當實際資料型別賦值給形參的時候,才由編譯器生成類或函式 2.函式模板的宣告由關鍵字template和包含乙個或多個資料型別形參的引數列表構成,形參資料型別 t 前面可以是class也可以是typename,型別形參t要用尖括號 括起來 template 或...

類模板,模板類和函式模板,模板函式

單整數類 雙整數類 所以c艹跟其他強型別語言為我們提供了乙個所謂模版功能 變數型別 整數 類模板的重點是模板。表示的是乙個模板,專門用於產生類的模子。例子 1 template 2 class vector 3 使用這個vector模板就可以產生很多的class 類 vector vector ve...

c 類模板(模板類)

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