类的C ++指针变量

时间:2012-08-03 17:00:08

标签: c++ variables pointers private

这是一个解释我的问题的例子:

//myfile.h
class thing
{
public:
    void doSomething();
private:
    Book *text;
};

现在,在doSomething方法中,如何调用Book对象的方法read()? Read()是非静态的。对于这个例子,我假设我创建了一个名为obj的对象,它调用了doSomething()。

正确的电话会是:     obj->读(),     或者this.obj-> read()

2 个答案:

答案 0 :(得分:4)

正确的电话会是text->read()。您也可以使用this->text->read()

在您的示例中,无需使用this。另请注意,this是一个指针,因此this.next->read()甚至不会编译。

编辑如果您“创建了一个名为obj的对象,它调用了doSomething()”,那么根本不需要this,具体取决于 where thing。如果thing不是另一个对象的数据成员,那么您只需要:

thing obj;
....
obj.doSomething();

在任何情况下,由于obj.read()没有thing方法,您无法致电read()

答案 1 :(得分:1)

它只会是:

text->read()