In order to keep the program as simple as possible, all of the member methods are defined as inline functions.? This puts the code for the methods where it is easy to find and study.? You will also notice that all variables in both classes are declared to be protected so they will be readily available for use in any class which inherits them.? The code for each class is kept very simple
so that we can concentrate on studying the interface to the methods rather than spending time trying to understand complex methods.