Reputation: 323
In Java you can refer to the current object by doing: this.x = x
. How do you do this in C++?
Assume that each of these code examples are part of a class called Shape
.
Java:
public void setX(int x)
{
this.x = x;
}
C++:
public:
void setX(int x)
{
//?
}
Upvotes: 32
Views: 28938
Reputation: 70909
The C++ equivalent is this
, but there are a few differences.
This is a pointer to the object in question, not a reference; so, you must use pointer dereferencing operators before accessing fields or methods.
(*this).method(...)
(*this).field
or, using the more popular syntax
this->method(...)
this->field
Upvotes: 8
Reputation: 103693
Same word: this
Only difference is it is a pointer, so you need to use the ->
operator:
void setX(int x)
{
this->x = x;
}
Upvotes: 41
Reputation: 39480
The C++ equivalent is this
; that is, the keyword is the same.
Upvotes: 3