Ответ 1
То же слово: this
Единственное отличие - это указатель, поэтому вам нужно использовать оператор ->
:
void setX(int x)
{
this->x = x;
}
В Java вы можете ссылаться на текущий объект, выполнив: this.x = x
. Как вы это делаете на С++?
Предположим, что каждый из этих примеров кода является частью класса с именем Shape
.
Java:
public void setX(int x)
{
this.x = x;
}
С++:
public:
void setX(int x)
{
//?
}
То же слово: this
Единственное отличие - это указатель, поэтому вам нужно использовать оператор ->
:
void setX(int x)
{
this->x = x;
}
эквивалент С++ this
, но есть несколько отличий.
Это указатель на объект, о котором идет речь, а не ссылка; поэтому перед доступом к полям или методам вы должны использовать операторы разыменования указателей.
(*this).method(...)
(*this).field
или, используя более популярный синтаксис
this->method(...)
this->field
эквивалент С++ this
; то есть ключевое слово одно и то же.