类模板: 类模板是为某一些类只有数据类型不同,而将数据类型进行抽象处理的机制. 可由该模板实现不同数据类型的模板类.
定义类模板: template <class T, int size> 放在类的首部. 在类中可使用这两个参数.
T为类型参数
size 为非类型参数 ,用来说明类模板中属性. 如:
template <class T, int size>
class CTest
{
public:
T Fun(T a);
private:
}
定义类模板中的函数:
首先在每个函数前加template<class T,int size> .
其次在类后添加<T,size> 这样就可在函数中使用模板参数了.
template <class T, int size>
T CTest<T,size>::Fun(T a)
{
return a;
}
模板类: 类模板的实现即为模板类. 定义一个int型的CTest模板类.
CTest<int> a;
函数模板: 将功能相同,只有数据类型不同的某类函数进行抽象.
定义函数模板: 在函数定义前添加 template <class T>
如
template <class T> T Add(T a, T b)
{
return a+b;
}
int a=1,b=2, n=0;
n=Add(1,2);
//n=3;