类的C++指针变量
C++ pointer variable of class
这里有一个例子来解释我的问题:
//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()
相关文章:
- 将地址分配给本地指针后,公共对象的变量将消失
- 如果非动态变量被指针引用,何时超出范围?
- 在函数结束后使用指向变量的指针是否安全?
- 有没有将变量名称转换为双指针的简短方法?
- 成员变量指针的函数参数包
- C++ - 使用变量指针调用函数
- 如何返回值为NULL的变量指针
- 在编译时以增量方式构建变量指针的向量
- C 取消实例变量指针
- 每个方法调用上都覆盖了本地变量指针
- 决定对基类的变量指针进行函数调用
- 使用 valgrind 时获得 int 变量指针的无效读取大小错误
- 变量指针的成员函数未绘制到SDL_Surface?
- 何时使用成员变量指针
- 从成员变量指针返回布尔值
- 指向C#和C++之间接口的变量指针
- c++中指向self的成员变量指针
- 为什么变量指针包含相同数据类型的地址?
- 指向用户定义类型的类的全局变量指针
- C++分配一个变量指针地址