An abstract base class (abbreviated to 'ABC') is a type of abstract class and a type of base class.
'An abstract base class is a class from which no objects may be created; it is only used as a base class for the derivation of other classes. A class is abstract if it includes at least one member function that is declared as pure virtual.' [2]
- Use an abstract base class to represent something common to some, but not all, classes in a hierarchy [1]
- [1] Bjarne Stroustrup. The C++ Programming Language (4th edition). 2013. ISBN: 978-0-321-56384-2. Chapter 21.4. Advice. page 640: '[10] Use a virtual base to represent something common to some, but not all, classes in a hierarchy'
- [2] Joint Strike Fighter Air Vehicle C++ Coding Standards for the System Development and Demonstration Program. Document Number 2RDU00001 Rev C. December 2005. 4.3.1: 'An abstract base class is a class from which no objects may be created; it is only used as a base class for the derivation of other classes. A class is abstract if it includes at least one member function that is declared as pure virtual.'