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

Lea*_*ast 4 c++ class

我试图从包含的对象调用父类方法,但没有运气与以下代码.这样做的标准方法是什么?

我搜索过,这似乎适用于继承的对象,但不适用于包含的对象.将它称为父类是否正确?或者它被称为所有者类?

class Parent{
private:
  Child mychild;

public:
  void doSomething();
}

class Child{
public:
  void doOtherThing();
}

void Child::doOtherThing(){
  Parent::doSomething();
}
Run Code Online (Sandbox Code Playgroud)

小智 11

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

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

void Child::doOtherThing( Parent & p ){
   p.doSomething();
}
Run Code Online (Sandbox Code Playgroud)