首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

各位,如何编译不过去啊

2012-03-09 
各位大虾,怎么编译不过去啊?#include iostreamusingnamespacestdtypedefclass TclassVNum{private:Ti

各位大虾,怎么编译不过去啊?
#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;
}

热点排行