Difference between containership and inheritance in C++

Difference between Containership and Inheritance in C++

Containership:  Containership is the phenomenon of using one or more classes within the definition of other class.  When a class contains the definition of some other classes, it is referred to as composition, containment or aggregation.  The data member of a new class is an object of some other class.  Thus the other class is said to be composed of other classes and hence referred to as containership.  Composition is often referred to as a “has-a” relationship because the objects of the composite class have objects of the composed class as members.

Inheritance:  Inheritance is the phenomenon of deriving a new class from an old one.  Inheritance supports code reusability.  Additional features can be added to a class by deriving a class from it and then by adding new features to it.  Class once written or tested need not be rewritten or redefined.  Inheritance is also referred to as specialization or derivation, as one class is inherited or derived from the other.  It is also termed as “is-a” relationship because every object of the class being defined is also an object of the inherited class.