函数模版定义方法
template <typename 类型参数1 , typename 类型参数2 , ...> 返回值类型 函数名(形参列表){
//在函数体中可以使用类型参数
}
函数模版示例
#include <iostream>
using namespace std;
template <typename T> void my_swap(T& a, T& b)
{
T temp = a;
a = b;
b = temp;
}
template <typename T> T my_max(T a, T b)
{
return a > b ? a : b;
}
int main()
{
int a1 = 100, b1 = 200;
my_swap(a1, b1);
cout << "a1 = " << a1 << endl;
cout << "b1 = " << b1 << endl;
float a2 = 100.1, b2 = 200.1;
my_swap(a2, b2);
cout << "a2 = " << a2 << endl;
cout << "b2 = " << b2 << endl;
cout << my_max(1.23, 4.56) << endl;
}
运行结果