C ++相当于Java

时间:2011-08-01 23:20:11

标签: java c++ this

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

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

爪哇:

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

C ++:

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

3 个答案:

答案 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;也就是说,关键字是相同的。