這段時間在複習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 模板形參表 返回值型別 函式名 模板函式形參表 其中,模板形參表 可以包含基本資料型別...