(1) 声明类模板时要增加一行
template<class 类型参数名>
在template后面的尖括号内的内容为模板的参数表列,关键字class表示其后面的是类型参数(虚拟类型参数)。
实现一类多用。
(2)声明一个类模板后,怎样使用它?怎样使它变为一个实际的类?
必须用实际类型去取代虚拟类型
1.类模板名<实际类型名>对象名;
2.类模板名<实际类型名>对象名(实参列表);
如:
compare<int> cmpl;
compare<int> cmpl(3,7);
(3)如果在类模板外定义成员函数,应写成类模板形式:
template<class 虚拟类型参数>
函数返回值类型 类模板名<虚拟类型参数>::成员函数名(函数形参列表){...}
说明:
类模板的类型参数可以有一个或者多个,每个类型前面都必须加class
如:
template<class T1, class T2>
class someclass
{...};
在定义对象时分别代入实际的类型名
如:
someclass<int, double> obj;