1. 举例说明
问题:整数类型和浮点数类型求绝对值的算法,需要写两种重载函数吗?
int abs(int x){
return x < 0? -x:x;
}
double abs(double x){
return x < 0? -x:x;
}
解决:
- 创建一个通用功能的函数
- 支持多种不同参数
- 简化重载函数的函数体设计
template<typename T>
T abs(T x){
return x < 0? -x:x;
}
第一次调用函数模板:
第二次调用函数模板:
2. 函数模板定义语法
- 语法形式:
template<模板参数表>
函数定义
- 模板参数表的内容:
类型参数:class(或