Classi base
Il processo di ereditarietà crea una nuova classe derivata, composta dai membri delle classi base e da eventuali nuovi membri da essa aggiunti. In una ereditarietà multipla è possibile creare un grafico di ereditarietà in cui la stessa classe base fa parte di più classi derivate. Nella figura seguente è mostrato questo tipo di grafico.
Più istanze di una classe base singola
Nella figura sono riportate le rappresentazioni grafiche dei componenti di CollectibleString e di CollectibleSortable. Tuttavia, la classe base, ossia Collectible, si trova in CollectibleSortableString mediante il percorso CollectibleString e il percorso CollectibleSortable. Per eliminare questa ridondanza, tali classi possono essere dichiarate come classi base virtuali nel momento in cui vengono ereditate.
Per informazioni sulla dichiarazione delle classi base virtuali e su come vengono composti gli oggetti con tali classi, vedere Classi base virtuali.