今天学习了c++的模板技术,在这里简单谈一下关于模板的基础知识和写法
什么是模板
模板技术就是C++实现代码复用的一种技术,C++中模板是支持参数多态化的工具,就是让类或者函数声明为一种通用类型,使得类中的某些数据成员或者 成员函数的参数,返回值在实际使用的时候也可以是任意类型,模板也是泛型编程的基础。
模板的两种形式
函数模板
参数类型不一样但是功能及函数名一致的函数
template < typename 形参名> 返回类型,函数名(参数列表)
{
函数体
}
template <typename T>
T add(T a,T b)
{
return a+b;
}
int main()
{
cout<< add(3,5)<<endl;
cout<< add(37.23,5.77)<<endl;
string str1 = "hello";
string str2 = "world";
cout<< add(str1,str2)<<endl;
}
类模板
成员属性的类型和成员函数的类不一样,但是成员属性及函数一样的类
template <class 形参名....>class 类名
{
}