#ifndef A_H #define A_H #include "B.h" class CA { public: void AccessPublicFriend(); void AccessPrivateFriend(); CB m_B; private: CB m_B2; }; #endif //Should be in an implementation file void CA::AccessPublicFriend() { m_B.c = 'k'; } void CA::AccessPrivateFriend() { m_B2.c = 'k'; }