Welcome to JiKe DevOps Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
533 views
in Technique[技术] by (71.8m points)

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

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?


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

Please log in or register to answer this question.

1 Answer

0 votes
by (71.8m points)

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.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to JiKe DevOps Community for programmer and developer-Open, Learning and Share
...