1.模板
模板
函数模板
template<typename T1,typename T2,……>
- 定义了必须使用,否则报错
template<typename T>
T add(T a,T b)
{
return a + b;
}
根据具体的使用情况生成模板函数
add(1.1,2.1); //生成double类型的模板函数
add(3,4); //生成int类型的模板函数
类模板
template <typename T>
class A
{
T a;
};
- 定义时必须给出类模板的类型
int main()
{
text<int> t;
}
- 类模板的成员函数,定义时在函数前继续写上模板
template<typename T>
class A
{
public;
void fun(T x);//类内声明
};
//类外定义
template<typename T>
void A<T>::fund(T x)
{
return x;
}