next up previous contents
Next: Herança de construtores e Up: Herança Previous: Controle de acesso   Sumário

Herança múltipla

É possível para uma classe derivada herdar duas ou mais classes base; neste caso, está se utilizando do mecanismo de herança múltipla suportado por C ++. A forma de declarar uma classe derivada por herança múltipla é

class Derived : access Base1, access Base2 {
...
};

Observe que para cada classe base é possível especificar um modo de acesso independente.

Há controvérsias sobre o uso de herança múltipla, se ela traz benefícios ou se ela deve ser evitada totalmente. O que se põe em questão não é o mecanismo em si, mas sua validade como ferramenta de modelagem de aplicações. Em muitos casos, exemplos para ilustrar a utilidade de herança múltipla são pouco naturais. Entretanto, como o mecanismo está presente na linguagem, sua utilização ou não acaba se tornando mais uma questão de estilo pessoal.

Um detalhe que deve ser observado com relação à herança múltipla é a manipulação de nomes de membros duplicados nas classes base -- como especificar a qual deles a classe derivada se refere? O mecanismo adotado para resolver tais problemas é chamado de qualificação, que consiste em prefixar o nome do membro (atributo ou método) com o nome da classe base a que ele se refere, sendo os nomes separados por um duplo dois-pontos ::.


next up previous contents
Next: Herança de construtores e Up: Herança Previous: Controle de acesso   Sumário
Ivan Luiz Marques Ricarte 2001-06-01