将类传递给自己的成员函数

时间:2015-01-27 16:14:37

标签: c++

我正在从Java转向C ++并且有一个简单的问题。如果它是重复的,请耐心等待并指导我。

考虑以下类及其成员函数:

class Painter {
public:
    void paint(Building *house) {
        // paint the building
    }
};

class Building {
public:
    void passToPainter(){
        painter.paint(this);
    }
private:
    Painter painter;
};

painter.paint(this);是Java语法。 C ++中的语法是什么?

非常感谢。

1 个答案:

答案 0 :(得分:5)

它完全相同。但是在C ++中,this是对象实例的指针,而在Java中,它是引用

在C ++中,如果从标记为this的成员函数调用,const将是指向该对象的const指针。这有助于实现程序稳定性。