O mecanismo de herança é o que diferencia a programação orientada a objetos da programação com Tipos Abstratos de Dados. Desta forma, este é um dos conceitos mais importantes para a efetiva utilização de C ++.
O conceito já foi introduzido no Capítulo deste texto, sendo lá apresentado como um mecanismo de especificação de sistemas. E é justamente neste ponto que reside a elegância da programação orientada a objetos: o mesmo mecanismo que é empregado como uma ferramenta natural de especificação (carro é-um-tipo-de veículo, roda é-uma-parte-de veículo) é também utilizado para a implementação. Esta facilidade de mapear conceitos do mundo real para construções da implementação é devido à redução da distância semântica4.1 entre os modelos adotados em cada fase.