#include "a.hpp"
#ifndef A_HPP_
#define A_HPP_
#include "b.hpp"
#include "c.hpp"
#include "d.hpp"
class A: public B, public C
{
D ddd;
};
#endif
#include "a.hpp"
#ifndef B_HPP_
#define B_HPP_
#include "d.hpp"
class B{
...
D ddd;
};
#endif
#ifndef C_HPP_
#define C_HPP_
#include "d.hpp"
class C{
D ddd;
};
#endif
#ifndef D_HPP_
#define D_HPP_
class D{
};
#endif