Várias heranças
Versões posteriores do C++ introduziram um modelo de “herança múltipla” para a herança. Em um gráfico de herança múltipla, as classes derivadas podem ter um número de classes base diretas. Considere o gráfico na figura a seguir.
Gráfico simples de herança múltipla
O diagrama na figura mostra uma classe, CollectibleString. É como Collectible (algo que pode ser incluído em uma coleção) e como String. A herança múltipla é uma boa solução para esse tipo de problema (onde uma classe derivada tem atributos de mais de uma classe base) porque é fácil formar CollectibleCustomer, CollectibleWindow, e assim por diante.
Se as propriedades de qualquer classe não forem necessárias para um aplicativo específico, cada classe pode ser usada isoladamente ou em combinação com outras classes. Portanto, dada a hierarquia descrita na figura anterior, você pode formar as cadeias de caracteres colecionáveis e não colecionáveis que não sejam cadeias de caracteres. Essa flexibilidade não é possível usando a herança única.
Consulte também
Referência
Visão geral de classes derivadas
Herança múltipla