C++ C++;如何从包含的类调用父类方法?

C++ C++;如何从包含的类调用父类方法?,c++,class,C++,Class,我正试图从包含的对象调用父类方法,但下面的代码没有成功。做这件事的标准方法是什么 我四处搜索过,这似乎适用于继承的对象,但不适用于包含的对象。甚至称它为父类是正确的吗?或者它被称为所有者类 class Parent{ private: Child mychild; public: void doSomething(); } class Child{ public: void doOtherThing(); } void Child::doOtherThing(){ Pare

我正试图从包含的对象调用父类方法,但下面的代码没有成功。做这件事的标准方法是什么

我四处搜索过,这似乎适用于继承的对象,但不适用于包含的对象。甚至称它为父类是正确的吗?或者它被称为所有者类

class Parent{
private:
  Child mychild;

public:
  void doSomething();
}

class Child{
public:
  void doOtherThing();
}

void Child::doOtherThing(){
  Parent::doSomething();
}

包含的对象对包含它的类没有特殊访问权限,并且通常不知道它被包含。您需要以某种方式向包含类传递引用或指针,例如:

class Child{
public:
  void doOtherThing( Parent & p );
};

void Child::doOtherThing( Parent & p ){
   p.doSomething();
}

如果子对象需要与父对象交互,则需要对该对象的引用;目前,该子类没有所有者的概念。

该子类与父类完全没有连接。您必须将“this”传递给子级(可能在构造函数中)才能使其工作