Junto com a herança, os construtores também são essenciais em C++. A construtor é uma função de membro única que permite inicializar as propriedades do objeto. Um Construtor de herança é um construtor usado para inicializar a classe base e os objetos de classe derivados que a classe derivada herdou. O construtor de herança é responsável por inicializar os membros da classe base herdados e os membros da classe derivada. Para conseguir isso, o construtor chama o construtor da classe base, garantindo que todos os membros da classe derivada sejam adequadamente inicializados, incluindo os herdados da classe base.
Invocando o construtor da classe base e passando os parâmetros necessários, o construtor de herança inicializa os membros da classe base. Isso é realizado usando o 'classe base (args)' Lista de inicialização no construtor. Instruções adicionais específicas para a classe derivada são fornecidas no corpo do construtor.
A sintaxe para herdando Uma aula em C ++ é:
classe DerivedClass: AccessSpecifier Baseclass
// Membros da classe
;
A nova classe sendo formada neste caso, "Classe derivada", ele herdará de “Baseclasse”. O nível de acesso aos membros herdados é especificado pelo “Access -especificador ”. C ++ utiliza três tipos de especificadores de acesso, a saber, "público Privado", e "protegido". A palavra "público" indica que a classe derivada tem acesso aos membros públicos da classe base. A classe derivada não tem acesso aos membros da classe base, de acordo com o 'privado' especificador. A classe derivada tem acesso aos membros da classe base protegidos que podem ser herdados por suas classes filho, de acordo com o 'protegido' especificador.
Exemplo de herança em C++
O exemplo seguinte mostra a implementação de Herança em C ++:
#incluir
usando namespace std;
Classe Animal
público:
void Eat ()
cout << "I can eat!" << endl;
Void Sleep ()
cout << "I can sleep!" << endl;
;
classe Cat: Public Animal
público:
void meow ()
cout << "I can meow!" << endl;
;
int main ()
CAT CAT1;
CAT1.comer();
CAT1.dormir();
CAT1.Miau();
retornar 0;
O código fornecido define duas classes, "Animal" e "Gato", onde "Gato" é derivado de "Animal". Ambas as classes têm algumas funções de membro, como "Coma", "Sleep", e "Miau". A função principal cria um objeto da classe "Gato" e chama o herdado funções da classe "Animal" bem como a função específica da classe "Gato", qual é "Miau". O programa gera o texto para o console, indicando que o gato pode comer, dormir e miar.
Saída
Quando uma classe é derivada, todas as variáveis de membros da classe base e funções membros são transferidas para a classe derivada. O herdado A acessibilidade dos membros na classe derivada é determinada pelo especificador de acesso. A classe derivada também pode substituir novos recursos para aqueles que já existem. Ele pode adicionar novas implementações para os métodos da classe base e adicionar novas funções e variáveis de membro.
É crucial lembrar que o construtor de herança deve ser usado para chamar explicitamente o construtor da classe base com os parâmetros necessários se a classe base tiver um construtor padrão ou se não estiver disponível.
Conclusão
A forte característica de herança em C ++ permite que as classes reutilizem o código herdando características e ações de outros. Um recurso útil do C ++ 's construtor de herança Permite classes derivadas herdar as propriedades, métodos e membros de dados de uma classe base. Com a adição de uma lista de inicialização para construtores de classe base, ela é definida usando a mesma sintaxe que um construtor padrão. Os programadores de C ++ podem minimizar a duplicação de código e aprimorar a estrutura do código, utilizando o construtor de herança. Para criar hierarquias de classe complexas na programação orientada a objetos, é uma ferramenta importante.