Is length and this->length are same in this code in c++?

Viewed 64

I have an overloaded operator:

rectangletype rectangletype::operator+(const rectangletype& rect) const
{
    rectangletype temprect;
    temprect.length = length + rect.length;
    return temprect;
}

And this is the main:

int main()
{
    rectangletype r1(23);
    rectangletype r2(27);
    rectangletype r3 = r1 + r2;
    r3.print();
}

In the overloaded operator function, when I use this->length istead of length, it gives the same result, but does it work like same?

1 Answers

When you override an operator, the this keyword refers to the object on the left side of the operator in the statement. In the overload function, you can explicitly use this->, but it is implied and therefore not necessary.

Related