感觉应该很明显,但是我已经寻找了一段时间,不能问正确的问题。我正在为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

10-06 15:09