新手求助~用成员函数的方式定义减法,提示参数过多...求解释....
vector.h
class vector
{
private:
float x,y;
public:
vector();
vector(float,float);
void SetX(float);
void SetY(float);
float GetX();
float GetY();
vector operator-(vector,vector);
virtual ~vector();
};
vector.cpp
#include "vector.h"
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
vector::vector()
{
}
vector::vector(float a,float b)
{
x=a;
y=b;
}
vector vector::operator-(vector v1,vector v2)
{
vector v3;
v3.x-=v1.x+v2.x;
v3.y-=v1.y+v2.y;
return v3;
}
void vector::SetX(float a)
{
x=a;
}
void vector::SetY(float a)
{
y=a;
}
float vector::GetX()
{
return x;
}
float vector::GetY()
{
return y;
}
vector::~vector()
{
}
运行时提示:
error C2804: binary 'operator -' has too many parameters
[解决办法]
定义成类的成员函数的场合,
类本身,也就是this 是它的第一个操作数。
[解决办法]
vector vector::operator-(vector v2)
{
vector v3;
v3.x-=v1.x+v2.x;
v3.y-=v1.y+v2.y;
return v3;
}
用vector v1来调用就可以了!