In C++ use forward declarations of class names before using them in a class definition found in a header file. Try to include only the base class header file from a derived class header file if that is possible.