You can use forward declarations and hide the object implementation behind a pointer.

So A.h would look like



class B;
class A{
public:
A(){}