C ++相当于Java

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

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

Java的:

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

C ++:

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

同一个词: this

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

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

C ++等效this ,但存在一些差异。

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

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

或者,使用更流行的语法

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

C ++的等价物就是this ; 也就是说,关键字是相同的。