我们可以建立template classes,使它们能够神奇地操作任何类型的资料。下面这个例子是让CThree 类别储存三个成员变量,成员函数Min 传回其中的最小值,成员函数Max 则传回其中的最大值。我们把它设计为template class,以便这个类别能适用于各式各样的数据类型:
template <class T>
class CThree
{
public :
CThree(T t1, T t2, T t3);
T Min();
T Max();
private:
T a, b, c;
};
语法还不至于太稀奇古怪,把T 看成是大家熟悉的int 或float 也就是了。下面是成员函数的定义:
template <class T>
T CThree<T>::Min()
{
T minab = a < b ? a : b;
return minab < c ? minab : c;
}
template <class T>
T CThree<T>::Max()
{
T maxab = a < b ? b : a;
return maxab < c ? c : maxab;
}
template