I believe his main problem is multiple inclusion. That''s what is messing up his design. BlackEye, your ideas were correct from the beginning, forward declaration is only neccecary when you want two classes in the SAME header to share pointers. When they are in seperate files, this is no longer an issue.
Simply do like this, in each header, before the includes, before EVERYTHING include these lines
#ifdef HEADER_MACRO_WHATEVER // can be the filename if you want#define HEADER_MACRO_WHATEVER// Here goes all header code, classes, structs, whatever#endif
Put that in both your headers and it will work without forward declaration. Oh and don''t forget the endif in the end, heh.