One way of RefactoringCppToReduceDependencies is to use forward references. Suppose we have a class Beta that uses a class Alpha. Instead of writing Beta.h as
#include "Alpha.h"
class Beta
{
Alpha *a;
},;
we write
class Alpha;
class Beta
{
Alpha *a;
},;
and delay the inclusion of alpha.h to beta.cpp. That way things that depend on beta.h aren't forced to depend on alpha.h.
This is also a good way to avoid cyclic file dependencies.