ex) #ifndef _HEADER1_H_ #define _HEADER1_H_ class CB; class CA { public: CA(){}; ~CA(){}; int m_Func(void); public: CB* m_pCB; }; #endif // _HEADER1_H_ #include "A.h" #include "B.h" int CA::m_Func(void) { CB* l_pCB = new CB; return 1; } #ifndef _HEADER2_H_ #define _HEADER2_H_ class CA; class CB { public: CB(){}; ~CB(){}; int m_Func(void); public: CA* m_pCA; }; #endif // _HEADER2_H_ #include "B.h" #include "A.h" int CB::m_Func(void) { CA* l_pCA = new CA; return 1; } #include "A.h" #include "B.h" int main() { return 1; }