When dividing your code up into multiple files just what exactly should go into an .h file and what should go into a .cpp file?
Header (.h)
Body (.cpp)
As a rule of thumb, you put the "shared" part of the module on the .h (the part that other modules needs to be able to see) and the "not shared" part on the .cpp
PD: Yes, I've included global variables. I've used them some times and it's important not to define them on the headers, or you'll get a lot of modules, each defining its own variable.
EDIT: Modified after the comment of David