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

新手~用成员函数的方式定义减法,提示参数过多.求解释.

2012-04-03 
新手求助~用成员函数的方式定义减法,提示参数过多...求解释....vector.hclass vector{private:float x,yp

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

热点排行