在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'是相當情況的(例如,當調用指向成員函數的指針時)。 –