In C++, I have some header files such as: Base.h
, and some classes using Base.h
:
//OtherBase1.h
#include "Base.h"
class OtherBase1{
// something goes here
};
//OtherBase2.h
#include "Base.h"
class OtherBase2{
// something goes here
};
And in main.cpp
, I can only use one of those two OtherBase
classes because of duplicate header. If I want to use both classes, in OtherBase2.h
I have to #include "OtherBase1.h"
instead of #include "Base.h"
. Sometimes, I just want to use OtherBase2.h
and not OtherBase1.h
, so I think it's really weird to include OtherBase1.h
in OtherBase2.h
. What do I do to avoid this situation and what's the best practice for including header file?