函式模板與類模板

2021-07-04 14:17:31 字數 706 閱讀 9350

這段時間在複習c++的東西,把一些面試常問的一系列問題羅列下,我方便自己重溫

1.函式模板:

函式模板是為引數型別一致,引數個數一樣,功能**相同的一類函式提供的函式介面,在編譯時能夠動態的匹配

根據以上的嚴格限制我們可以知道,函式模板其實運用是非常有限的,所以一般不常用,在這裡提出來是為了引出類模板的概念

給乙個函式模板的例子

#include using namespace std;

template bool cmp(t2 a,t2 b)

模板可以支援多變數型別

2.類模板:

繼承了函式模板的優點,即支援變數型別動態匹配,但為了避免引數型別的限制,在使用時指定型別(也就是說是主動定義,而不是自動匹配),這樣使用時更加靈活

給乙個類模板的例子

template class compare

numtype max()

numtype min()

private:

numtype x,y;

};

如何使用呢,如下

compare cmp(4,7)

cout<

7,4小結:

類模板的用途很廣,如stl模板,容器類,還有智慧型指標等都是類模板的應用

註明下,部分例子是引用譚浩強的《c++程式設計》

函式模板與類模板(模板類)

什麼是泛型程式設計?泛型程式設計 編寫與型別無關的通用 是 復用的一種手段。模板是泛型程式設計的基礎。模板分為函式模板和類模板 下面我們就來說說函式模板 函式模板與型別無關,在使用時被引數化,根據實參型別產生函式的型別版本 格式 template 返回值型別 函式名 引數列表 templatet1 ...

模板 函式模板與類模板

模板 template 是乙個將資料型別引數化的工具。模板分為函式模板和類模板兩種。在定義模板的時候不說明某些函式引數或者資料成員的型別,而將它們的資料型別作為模板引數。在使用模板時根據實參的資料型別確定模板引數即資料型別,從而得到模板的乙個例項。函式模板 function template 函式模...

函式模板與類模板

c 提供的函式模板可以定義乙個對任何型別變數進行操作的函式,從而大大增強了函式設計的通用性。使用函式模板的方法是先說明函式模板,然後例項化成相應的模板函式進行呼叫執行。函式模板的一般說明形式如下 template 模板形參表 返回值型別 函式名 模板函式形參表 其中,模板形參表 可以包含基本資料型別...