在Java中,您可以通过执行以下操作来引用当前对象:this.x = x
。你是如何用C ++做到的?
假设这些代码示例中的每一个都是名为Shape
的类的一部分。
爪哇:
public void setX(int x)
{
this.x = x;
}
C ++:
public:
void setX(int x)
{
//?
}
答案 0 :(得分:31)
相同的字:this
唯一不同的是它是一个指针,因此您需要使用->
运算符:
void setX(int x)
{
this->x = x;
}
答案 1 :(得分:5)
C ++等价物是this
,但存在一些差异。
这是指向相关对象的指针,而不是引用;因此,在访问字段或方法之前,必须使用指针解除引用操作符。
(*this).method(...)
(*this).field
或使用更流行的语法
this->method(...)
this->field
答案 2 :(得分:3)
C ++等价物是this
;也就是说,关键字是相同的。