Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

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?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
549 views
Welcome To Ask or Share your Answers For Others

1 Answer

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.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...