一般用不到,其实不难,简单来说就是将函数参数(或返回值)定义为可变的自定义类:
template<class T>//不需要分号
T getMax(T a, T b)
{
T ret;
ret = (a > b)?a:b;
return ret;
}
使用:
int ret = getMax <int> cmp(6, 8);
float retf = getMax <float> cmp(20.1, 25.5);
ret = 8;
retf = 25.5;
在使用时再指定类型,所以我的理解:模板即为参数(或返回值)在某种意义上的多态!
网友评论