成员函数在体外的定义格式为:
template <class T> 返回值类型 类名<T>::成员函数名(参数列表)
{
//类模板内容
};
实例:
#include <iostream>
using namespace std;
template <class T> class MAX //类模板
{
public:
MAX(T v1, T v2);
T getmax(MAX &a);
private:
T x,y;
};
template <class T> MAX<T>::MAX(T v1, T v2) //定义
{
x = v1;
y = v2;
}
template <class T> T MAX<T>::getmax(MAX &a) //定义
{
return a.x<a.y ? a.y:a.x;
}
int main(int argc,char **argv)
{
MAX<int> x(1, 2);
cout << "最大值为: " << x.getmax(x) << endl;
return 0;
}