C++相当于Java this

2022-09-01 11:47:44

在 Java 中,您可以通过执行以下操作来引用当前对象:。你是如何在C++做到这一点的?this.x = x

假定这些代码示例中的每一个都是名为 的类的一部分。Shape

爪哇岛:

public void setX(int x)
{
this.x = x;
}

C++:

public:
void setX(int x)
{
//?
}

答案 1

同一个词:this

唯一的区别是它是一个指针,所以你需要使用运算符:->

void setX(int x)
{
    this->x = x;
}

答案 2

C++等价物是 ,但有一些区别。this

这是指向相关对象的指针,而不是引用;因此,在访问字段或方法之前,必须使用指针取消引用运算符。

(*this).method(...)
(*this).field

或者,使用更流行的语法

this->method(...)
this->field