所谓函数模板就是建立一个通用函数,其函数类型和形参类型不具体指定,用一个虚拟的类型来代替,这个通用函数就称为函数模板。凡是函数体相同的函数都可以用这个模板来代替,不必定义多个函数,只需在模板中定义一次即可。看下面的例子就很清楚了。
#include<iostream>
using namespace std;
template<typename T>
T max(T a, T b, T c)
{
if(b > a)
{
a = b;
}
if(c > a)
{
a = c;
}
return a;
}
int main(void)
{
int i1 = 8, i2 = 5, i3 = 6, i;
double d1 = 56.9, d2 = 90.765, d3 = 43.1, d;
long g1 = 67843, g2 = -456, g3 = 78123, g;
i = max(i1, i2, i3);
d = max(d1, d2, d3);
g = max(g1, g2, g3);
cout << "i_max=" << i << endl;
cout << "d_max=" << d << endl;
cout << "g_max=" << g << endl;
return 0;
}