Qt 将父类指针传递给子类

Qt 将父类指针传递给子类,qt,class,methods,properties,parent-child,Qt,Class,Methods,Properties,Parent Child,我有两个类声明如下,但我得到编译错误,这似乎是由于循环#include。有人知道如何解决这个问题吗 我的目的是让子类保留指向父类的指针,以便子类可以访问父类的方法和属性 #ifndef PARENT_H #define PARENT_H #include "child.h" class Parent { public: Child* mychild; Parent(); }; #endif // PARENT_H #ifndef CHILD_H #define CHILD

我有两个类声明如下,但我得到编译错误,这似乎是由于循环#include。有人知道如何解决这个问题吗

我的目的是让子类保留指向父类的指针,以便子类可以访问父类的方法和属性

#ifndef PARENT_H
#define PARENT_H
#include "child.h"

class Parent
{
public:
    Child* mychild;
    Parent();
};

#endif // PARENT_H


#ifndef CHILD_H
#define CHILD_H
#include "parent.h"
class Child
{
public:
    Parent* myparent;
    Child();
};

#endif // CHILD_H

只要只存储指向类的指针,就不需要在标头中提供完整的类定义,可以使用前向类声明,如下所示:

#ifndef PARENT_H
#define PARENT_H

class Child;

class Parent
{
public:
    Child* mychild;
    Parent();
};

#endif // PARENT_H


#ifndef CHILD_H
#define CHILD_H

class Parent;

class Child
{
public:
    Parent* myparent;
    Child();
};

#endif // CHILD_H
然后必须在child.cpp中包含parent.h,在parent.cpp中包含child.h