函数模板定义
#include<iostream>
using namespace std;
template<typename T> //函数模板的定义T为通用的数据类型
void myswap(T &a,T &b) //定义好函数模板之后紧跟着用到模板的函数
{
a=a^b;
b=a^b;
a=a^b;
}
int main()
{
int a=90;
int b=80;
myswap(a,b); //可以这样调用
cout<<a<<" "<<b;
myswap<int>(a,b) //也可以指定模板的数据类型调用
cout<<a<<" "<<b;
return 0;
}
类模板的调用
#include<iostream>
using namespace std;
//类模板的使用
//定义类模板,将类模板使用到的变量都在声明好。NameType和AgeType两个变量
template<class NameType,class AgeType>
class Person
{
public :
Person(AgeType age,NameType name) //Person类的构造函数创建好,实例化对象时直接
{ //赋初值
this->m_age=m_age;
this->m_name=m_name;
}
NameType m_name;
AgeType m_age;
};
void test()
{
Person<string,int> p1(18,"小明");//将类模板的数据类型,定义好,给对象赋初值
cout<<p1.m_age;
cout<<p1.m_name;
}
int main()
{
test();
return 0;
}