模板template
1、对类型进行参数化的工具
2、使用:为类或者函数声明一种模式,使得类里面的成员变量或者成员函数的参数、返回值的数据类型可以任意
3、函数模板:只有参数类型、返回值不一样的函数
类模板:成员变量、成员函数类型不同的类
例子:比如A和B两个函数的功能完全一样,但是A进行的是int数据的处理,B进行float数据的处理,于是需要两个函数,但是使用模板的话就只需要一个函数
4、格式
函数:template<class T> void handler(T a, T b) { }
在这里,函数的形参是可以是模板类T里面的成员变量或者函数,但是需要注意的是,不能在调用函数的时候指定模板形参的类型,比如上面的函数,可以使用handler(2,5);或者handler(0.2,0.5),但是不能使用handler(int,int),或者可以int a,int b,再handler(a,b);
类: template<class T> class person
{
public :
T a;
T b;
T handler(T c ,T d);
};
创建类实例:person <int> person1; person <float> person2
在<>里面指定数据的类型,只能用int,float,这样的,不能用数值