函数模板:建立一个通用函数,其函数类型和形参类型不具体指定,用一个虚拟的类型来代表,这个通用函数就称为函数模板。
一般形式:template<typename T>
通用函数定义
注意:关键字typename是类型名,只适用于函数体相同、函数的参数个数相同而类型不同的情况。
例:用函数模板实现求3个数中的最大者。
程序:
#include<iostream>
using namespace std;
template<typename T>//模板声明,T为类型参数
T max(T a, T b, T c)//定义一个通用函数,T作虚拟类型名
{
if (b > a)
{
a = b;
}
if (c > a)
{
a = c;
}
return a;
}
int main()
{
int i1 = 12, i2 = 3, i3 = 9,i;
double d1 = 56.7, d2 = -23.5, d3 = 33.6, d;
long g1 = 67854, g2 = -912456, g3 = 673456, g;
i = max(i1, i2, i3);//T被int取代
d = max(d1, d2, d3);//T被double取代
g = max(g1, g2, g3);//T被long取代
cout << "i_max=" << i << endl;
cout << "d_max=" << d << endl;
cout << "g_max=" << g << endl;
system("pause");
return 0;
}
结果:
i_max=12
d_max=56.7
g_max=673456
请按任意键继续. . .
本文出自 “岩枭” 博客,请务必保留此出处http://yaoyaolx.blog.51cto.com/10732111/1760103
原文地址:http://yaoyaolx.blog.51cto.com/10732111/1760103