函式模版和類模板的使用
阿新 • • 發佈:2018-11-09
template
template用於過載(overriding),目的是讓形參型別不同的函式可以共用一個類名或者函式名。
- 最簡單的使用,對一個函式進行過載,引數是可變的
原型:
template <class identifier> function_declaration;
NOTICE:
T也可以作為函式的返回值進行設定,並不一定是引數。
例子:
#include <iostream> using namespace std; template <typename T> void show(T t) { cout << "the parm is " << t << endl; } int main() { show(123); show("abc"); return 1; }
- 和類一起使用,對引數進行限制
原型:
template <typename identifier> function_declaration;
例子
#include <iostream> using namespace std; template <class T> class TemC { public: //並不是每一個函式都需要設定動態型別 void show(T t); }; template <typename T> void TemC<T>::show(T t) { cout << "the parm is " << t << endl; } int main() { //設定T為int之後,函式就只能接受int型別的引數 TemC<int> tempC; tempC.show(123); //tempC.show("abc"); return 1; }