参数化多态性,将程序所处理的对象的类型参数化,使得一段程序可以用于处理多种不同类型的对象
函数模板
template <class T> 或者 template < typename T >
类型名 函数名(参数表){ 函数体的定义 }
template<typename T>
T abs( T x){
return x<0? -x : x;
}
类模板
template < 模板参数表 >
class 类名
{类成员声明}
实现定义
tempalte <模板参数表>
类型名 类名<T> :: 函数名(参数表)
template <class T>
class Store{
public:
T item;
Store(void);
T getItem(void);
}
template < class T>
Store<T>::Store(void):haveValue(0){}
template< class T>
T Store<T>::GetItem(void){}