Often many functions have very small function bodies - these can be declared as inline and placed directly into the interface file, instead of the implementation file.
class Card { ... int rank () { return r; } }; OR inline int Card::rank () { return r; }