模板
友元 运算符重载 模板 异常 设计模式
函数模板
template <typename T>
T sum(T a,T b)
{
return a+b;
}
int main()
{
sum<int>(10,20);
cout <<sum<int>(10,20)<<endl;输出结果是30
cout <<sum(15.1,20.2)<<endl;输出35.3 这是模板的参数推演--》要有实参空的不行,是隐示实例
}
函数模板实例化后得到模板函数 在函数调用点将函数类型实例化,实例化得到一份代码传到函数中
这属于隐式实例化 模板的实例化在编译阶段进行每个cpp单独编译
而显示实例化要1写上类型和声明 // typename bool compare<int>(int int);
2不进行编译没有仍何实例化在test。cpp中
<