类的C++指针变量

C++ pointer variable of class

本文关键字:变量 指针 C++ 类的      更新时间:2023-10-16

这里有一个例子来解释我的问题:

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

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

合适的称呼是:obj->read(),或this.obj->read()

正确的调用应该是text->read()。您也可以使用this->text->read()

在您的示例中,不需要使用this。还要注意,this是一个指针,所以this.next->read()甚至不会编译。

编辑如果您"创建了一个名为obj的对象,该对象名为doSomething()",则甚至不必有this,这取决于您实例化thing的位置。如果thing不是另一个对象的数据成员,那么您只需要:

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

在任何情况下,都不能调用obj.read(),因为thing没有read()方法。

它只是:

text->read()