我正在实现向量类,我需要得到一些向量的反面。是否可以使用运算符重载来定义此方法?
这就是我的意思:
Vector2f vector1 = -vector2;
这是我希望该操作员完成的任务:
Vector2f& oppositeVector(const Vector2f &_vector)
{
x = -_vector.getX();
y = -_vector.getY();
return *this;
}
Thanks.
是的,但您不为其提供参数:
class Vector {
...
Vector operator-() {
// your code here
}
};
请注意,您不应返回 *this。一元 - 运算符需要创建一个全新的 Vector 值,而不是更改它所应用的对象,因此您的代码可能看起来像这样:
class Vector {
...
Vector operator-() const {
Vector v;
v.x = -x;
v.y = -y;
return v;
}
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)