在父类中调用方法

时间:2016-08-03 15:49:02

标签: c++

经过一番搜索,我了解到我可以调用这样的父方法:

基类:

class Base
{


public:

    Base();
     child *children;  // instance of the child is needed on the base
    float theDelegate(char *arg);

然后是儿童班:

class child: public Base  //**** problem
{


public:
...

但是当我尝试添加public Base行时,我收到一条他不知道的错误Base

然后我将base 加入 child,其中包含:

#include "Base.hpp"

这次孩子可以看到父母,但是当我在base上加child时,我就会在父母身上收到错误,因为他们互相包含

child *children;  - unknown type name child - appear only if I include parent in the child

我在这里做错了什么?应该怎么做?

1 个答案:

答案 0 :(得分:5)

使用前向声明:

File Base.hpp:

class Child; // forward declaration

class Base {
 public:
    Child* child;
    // whatever
};

File Child.hpp:

#include "Base.hpp"

class Child : public Base {
    // whatever
};