读书人

各位如何编译不过去啊

发布时间: 2012-03-09 21:42:54 作者: rapoo

各位大虾,怎么编译不过去啊?
#include <iostream>
using namespace std;
typedef class <T>
class VNum
{
private:
T im,re;
public:
VNum();
VNum(T,T);
VNum operator+(VNum);
VNum operator-(VNum);
};
VNum::VNum():im(0),re(0)
{

}
VNum::VNum(T im, T re)
{
this-> im=im;
this-> re=re;
}
VNum VNum::operator +(VNum v1)
{
this-> re+=v1.re;
this-> im+=v1.im;
return *this;
}
VNum VNum::operator -(VNum v1)
{
this-> im-=v1.im;
this-> re-=v1.re;
return *this;
}
int main()
{

}

[解决办法]
template <class T>

class VNum
{
private:
T im,re;
public:
VNum();
VNum(T,T);
VNum operator+(VNum);
VNum operator-(VNum);
};


template <class T>
VNum <T> ::VNum():im(0),re(0)
{

}
template <class T>
VNum <T> ::VNum(T im, T re)
{
this-> im=im;
this-> re=re;
}
template <class T>
VNum <T> VNum <T> ::operator +(VNum <T> v1)
{
this-> re+=v1.re;
this-> im+=v1.im;
return *this;
}
template <class T>
VNum <T> VNum <T> ::operator -(VNum <T> v1)
{
this-> im-=v1.im;
this-> re-=v1.re;
return *this;
}

读书人网 >C++

热点推荐