模板类的构造函数如何在类外定义?

成员函数类外定义我是会的,但是构造函数在类外的定义有问题。以下面程序为例,该如何改正才对呢?
#include <iostream>
using namespace std;

template <class T>
class complex{
private:
T real;
T imag;
public:
complex(T a,T b);
T rpart();
T ipart(){
return imag;
}
};
template <class T>
complex<T>::complex(T a,T b){
real=a;
imag=b;
}

int main(){
complex<int>s1(1,2);
cout<<s1.rpart()<<s1.ipart();
}

写法正确,看看是不是其他问题
另外模板类的成员函数 一般没必要写外面来,因为写外面也不能.h .cpp分开追问

编译通不过

编译通不过

追答

链接错误啊 需要的LIB加上

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-11-07
我没看出代码有任何错误 (除了没有定义 rpart 函数)
相似回答