   including files
  Hi. Let's say that a.h included b.h. main.cpp needs only b.h. Will the program be slower if it included a.h?   
  No, the program itself will not be slower, but it might take more time to compile. That's one of the reasons why making and including a 'includes_all.h'-file which includes all other headers isn't a good idea. You should only include the files you need, and include them directly. This might prevent some problems in the future. What if, for example, later on a.h doesn't need b.h anymore and you only included a.h in the files that also need b.h? Then you'd have to add #include "b.h" in every file which needs it. If you have more then a couple of files, this can become a real mess.   