在Java中,您可以通过执行以下操作来引用当前对象:this.x = x
。你如何在C++中做到这一点?相当于Java的C++
假设这些代码示例中的每一个都是名为Shape
的类的一部分。
爪哇:
public void setX(int x)
{
this.x = x;
}
C++:
public:
void setX(int x)
{
//?
}
在Java中,您可以通过执行以下操作来引用当前对象:this.x = x
。你如何在C++中做到这一点?相当于Java的C++
假设这些代码示例中的每一个都是名为Shape
的类的一部分。
爪哇:
public void setX(int x)
{
this.x = x;
}
C++:
public:
void setX(int x)
{
//?
}
的C++相当于是this
,但也有一些区别。
这是一个指向有问题的对象的指针,而不是引用;因此,在访问字段或方法之前,您必须使用指针解引用操作符。
(*this).method(...)
(*this).field
,或者使用更流行的语法
this->method(...)
this->field
一样的,只是因为它使用不同运营商的间接指针:'这个 - >' – Cechner
这个 - > X = X; ... ......... – Joe
对于访问成员的大多数操作,通常不需要'this'。明确使用'this'是相当情况的(例如,当调用指向成员函数的指针时)。 –