来自:https://blog.csdn.net/zqixiao_09/article/details/51474589
函数模板:
template <class T> T GetMax (T a, T b) {
T result;
result = (a>b)? a : b;
return (result);
}
调用:
int i=5, j=6, k;
long l=10, m=5, n;
k=GetMax(i,j);
n=GetMax(l,m);
也可以双类型
template <class T>
T GetMin (T a, U b) { return (a<b?a:b); }
调用
int i,j;
long l;
i = GetMin <int, long> (j,l);
类模板:
template <class T>
class pair {
T values [2];
调用:
pair myobject (100, 75);
-----------------------------常用:
template <class T> // 最常用的:一个class 参数。
template <class T, class U> // 两个class 参数。
template <class T, int N> // 一个class 和一个整数。
template <class T = char> // 有一个默认值。
template <int Tfunc (int)> // 参数为一个函数。