I understand and very much appreciate the practice of separating header (.h, .hpp) and source files (.cpp).
However, many simple classes can be expressed entirely in the header file itself. I could define some methods within the class and others (e.g. template methods, inline methods) below the class.
What advantage is there to creating a .cpp file when I could just declare and define the entire class in the header file? (Do I even need to?)