O que é o construtor de herança em C ++

O que é o construtor de herança em C ++
Em c++, herança é uma noção fundamental na programação orientada a objetos. Uma classe derivada pode herdar as características e comportamentos de uma classe base graças ao poderoso herança capacidade em c++. Uma classe derivada imediatamente herda todos os membros da classe base quando for formada. É necessário que o construtor de classe derivado também inicialize os membros da classe base. Em c++, herança é um recurso poderoso que permite aos desenvolvedores reutilizar o código, melhorar a eficiência e organizar o código em hierarquias lógicas.

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.