读书人

新手~用成员函数的方式定义减法,提示参

发布时间: 2012-04-03 12:38:19 作者: rapoo

新手求助~用成员函数的方式定义减法,提示参数过多...求解释....
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来调用就可以了!

读书人网 >C++

热点推荐