만약 a.hpp의 class A가 있고, b.hpp의 class B가 있다고 가정하자.
그리고 class A는 B b_;를 멤버 변수를 가지고 class B도 A a_;를 멤버 변수를 가진다고 가정하면 이때 include를 어떻게 할 것인지에 대한 글이다.
각 헤더에서는
# a.hpp
class B;
class A {
...
};
# b.hpp
class A;
class B {
...
};
이 처럼 클래스를 선언만 하고, 아래처럼 소스파일에서 헤더를 참조시킨다.
# a.cpp
include "a.hpp"
include "b.hpp"
...
# b.hpp
include "a.hpp"
include "b.hpp"
...