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

O Que E Construtor De Heranca Em C



Em C++, herança é uma noção chave 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 herda imediatamente todos os membros da classe base quando é formada. É necessário que o construtor da classe derivada inicialize também 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.

Juntamente com a herança, os construtores também são essenciais em C++. A construtor é uma função de membro exclusiva que permite inicializar as propriedades do objeto. Um Construtor de herança é um construtor usado para inicializar a classe base e os objetos da classe derivada 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 invoca o construtor da classe base, garantindo que todos os membros da classe derivada sejam inicializados corretamente, incluindo aqueles herdados da classe base.

Ao invocar o construtor da classe base e passar a ele 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. Mais instruções específicas para a classe derivada são fornecidas no corpo do construtor.







A sintaxe para herdar uma classe em C++ é:



aula Classe derivada : accessSpecifier BaseClass {
// membros da classe
} ;

A nova classe sendo formada neste caso, 'Classe derivada', herdará de “Classe Base”. O nível de acesso aos membros herdados é especificado pelo “ accessSpecifier”. 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 protegidos da classe base que podem ser herdados por suas classes filhas, de acordo com o 'protegido' especificador.



Exemplo de Herança em C++

O exemplo a seguir mostra a implementação de Herança em C++:





#include
usando namespace std ;

aula Animal {
público :
vazio comer ( ) {
cout << 'Eu posso comer!' << fim ;
}
vazio dormir ( ) {
cout << 'Eu posso dormir!' << fim ;
}
} ;
aula Gato : público Animal {
público :
vazio Miau ( ) {
cout << 'Eu posso miar!' << fim ;
}
} ;
int principal ( ) {
gato gato1 ;
gato1. comer ( ) ;
gato1. dormir ( ) ;
gato1. 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 “comer”, “dormir” , e 'Miau' . A função main 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 envia o texto para o console, indicando que o gato pode comer, dormir e miar.

Saída



Quando uma classe é derivada, todas as variáveis ​​e funções-membro da classe base 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 por 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.

É fundamental 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 classes reutilizem código herdando características e ações de outras. Um recurso útil do C++ construtor de herança permite que classes derivadas herdem 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, ele é definido usando a mesma sintaxe de um construtor padrão. Os programadores 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 classes complexas em programação orientada a objetos, é uma ferramenta importante.