Ogni classe può ereditare membri di un’altra classe e questa proprietà si chiama, appunto, ereditarietà. In C++ gli oggetti possono assumere, per eredità, le caratteristiche di altri oggetti e aggiungere caratteristiche proprie.
Il termine "eredità" si intende quel meccanismo per cui si può creare una nuova classe, detta classe derivata, trasferendo in essa tutti i membri di una classe esistente, detta classe base.
La relazione di eredità si specifica nella definizione della classe derivata
class B : A { ........ } ;
questa scrittura significa che la nuova classe B possiede, oltre ai membri elencati nella propria definizione, anche quelli ereditati dalla classe esistente A. (un esempio: come un figlio che eredita il colore degli occhi della madre)
L'eredità procede con una struttura ad albero e quindi una stessa classe può essere derivata da una classe base e contemporaneamente genitrice di una o più classi figlie.
Quando ogni classe derivata ha una sola classe madre si dice che l'eredità è "singola".
Se una classe derivata ha più classi base, si dice che l'eredità è "multipla".