nWhen the base class has a default constructor, it is automatically invoked when an object of the derived class is defined. This happens whether or not the derived class constructor is a default constructor or requires arguments.
nSupplying a default constructor in our base classes allows for the most straightforward class design. And, supplying a default constructor in a derived class makes it easier to use if classes are subsequently derived from it.