C++ include header conventions
- by user231536
Suppose I have a file X.h which defines a class X, whose methods are implemented in X.cc.
The file X.h includes a file Y.h because it needs Y to define class X. In X.cc, we can refer
to Y because X.h has already included Y.h. Should I still include Y.h in X.cc ?
I understand that I don't need to and I can depend on header guards to prevent multiple inclusions.
But on the one hand, including Y.h makes X.cc a little more independent of X.h (can't be
completely independent of course). What is the accepted practice?
Another example: including <iostream> in both .h and .cc files. I see some people do this
and some don't.