对象的对象内的 C++ 调用成员函数

Posted

技术标签:

【中文标题】对象的对象内的 C++ 调用成员函数【英文标题】:C++ Call Member Function Within An Object of an Object 【发布时间】:2012-10-29 22:15:26 【问题描述】:

我有一个 C++ 类,简而言之,它的声明如下所示:

class Pico 
  ...
  Document document; // Custom Document class
  ...

稍后我调用Document 类的公共成员函数之一:

this->document->enableEditing();

但是,IntelliSense 会在this 下划线并指出“表达式必须具有指针类型”。我该怎么做才能解决这个问题?

【问题讨论】:

你是从 Pico 类方法中调用它吗? 是的,我是...... 【参考方案1】:

你想要

this->document.enableEditing();

Document 成员不是指针,因此您需要 . 代替 ->

【讨论】:

哇!没想到。大声笑谢谢,这很有帮助。【参考方案2】:

document 不是指针,所以不需要-> 运算符:

this->document.enableEditing();

事实上,在这种情况下,甚至没有必要明确地使用this。以下将做:

document.enableEditing();

【讨论】:

以上是关于对象的对象内的 C++ 调用成员函数的主要内容,如果未能解决你的问题,请参考以下文章

C++中的派生类,可以不定义对象直接调用基类的成员和调用自己的成员函数嘛???

通过指针C++调用成员函数,对象为空?

C++中,创建对象后用该对象调用了两次同一个成员函数,最终结果显示的是“12“,请问该成员函数该怎么写?

C++|详解类成员指针:数据成员指针和成员函数指针及应用场合

使用 SWIG 包装调用另一个对象成员函数的 C++ 类

自描述C++部分面试题集