CS202   4- ‹#›
Enabling Dynamic Binding
nWhenever we want a function to be dynamically bound, we should define that function as virtual in a direct or indirect base class.
nBy doing so, we are turning on the dynamic binding mechanism and allowing member functions to be selected at run time based on the type of object pointed or referred to.
nVirtual functions should be used when we want to provide member functions in our base class that define an interface for application programs to use.
nThe actual implementation of the virtual functions is either provided by the base class or is overridden and implemented as appropriate in derived classes.