C++分离类模板的声明和定义

成员函数在体外的定义格式为:
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;
}

猜你喜欢

转载自blog.csdn.net/RZJMPB/article/details/50929868