Understanding the OO concept of an abstract class
In this section, we will introduce an essential object-oriented concept, that of an abstract class. This concept will add to your growing knowledge base of key OO ideas including encapsulation, information hiding, generalization, specialization, and polymorphism. You know how to encapsulate a class. You also know how to build inheritance hierarchies using single inheritance, and various reasons to build hierarchies, such as supporting Is-A relationships or for the lesser-used reason of supporting implementation inheritance. Furthermore, you know how to employ runtime binding of methods to operations using the concept of polymorphism, implemented by virtual functions. Let’s extend our growing OO terminology by exploring abstract classes.
An abstract class is a base class that is intended to collect commonalities that may exist in derived classes for the purpose of asserting a common interface (that is, a set of operations)...