感觉应该很明显,但是我已经寻找了一段时间,不能问正确的问题。我正在为Vector2D类进行赋值运算符重载。该函数只是将调用对象的x和y坐标转换为参数中传递的向量:
// Vector2D.h
class Vector2D
{
public:
float x, y;
Vector2D();
Vector2D(float x, float y);
.
.
.
Vector2D& operator=(const Vector2D& vec);
.
.
.
}
和
// Vector2D.cpp
.
.
.
Vector2D & Vector2D::operator=(const Vector2D & vec)
{
this->x = vec.x;
this->y = vec.y;
return ? ? ? ? ;
}
.
.
.
我应该返回什么来完成这项工作?我天真地以为
return this;
会这样做,但这不是正确的参考。 最佳答案
我天真地以为return this;
会这样做,但这不是正确的参考。this
是指向当前对象的指针。要获得所需的结果,只需取消引用即可:*this
。