By being included first is how it checks.
Salem, do you mean if the cpp file does not include the corresponding header file in the first line (e.g. include other .h files, then its corresponding header file), it has no chance to check whether the corresponding header file is self-contained?

No Difference. It does not depend on the order of file inclusion but need to include before you first need to use them.
Shabbir, seems your answer conflicts with Salem's.

I get a little confused.