函数模板的声明形式为:
template<typename 数据类型参数标识符>
返回类型 函数名 (参数表)
{
函数体
}
下面是完整的例子,注意在visual studio2010中用小写的s的swap做函数名会引起冲突,故笔者使用大写的Swap,发现能成功编译。
#include "iostream"
#include "string"
using namespace std;
template <typename SomeType>
void Swap(SomeType &a,SomeType &b)
{
SomeType temp;
temp=a;
a=b;
b=temp;
}
int main()
{
int A=23;
int B=34;
string strA="You";
string strB="Me";
cout<<A<<" "<<B<<endl;
cout<<strA<<" "<<strB<<endl;
Swap(A,B);
Swap(strA,strB);
cout<<A<<" "<<B<<endl;
cout<<strA<<" "<<strB<<endl;
return 0;
}