It is implemented in the .cpp. Storage space for that code is not allocated until an object of the class is instantiated. BTW, only one copy of a member function is created in memory no matter how many instances of the class are instantiated. The call to an a member function includes a hidden pointer that specifies exactly which instance the function is being called on.
Take a look at My Post #5 in this Thread for a basic guide to .h / .cpp files.