Algumas linguagens de programação baseadas em objeto têm a palavra-chave “super”, que permite que uma subclasse invoque funções e membros da classe base ou pai. Algumas linguagens de programação determinam como a palavra-chave “super” deve ser usada especificamente. Mas no caso de C++, a palavra-chave super não é usada da mesma maneira que em Java e Python. Neste tutorial, estudaremos e demonstraremos a emulação de super palavras-chave em C++.
Como emular a palavra-chave super em C++
A palavra-chave conhecida como “super” não é predefinida no compilador C++. A herança e substituição de função são usadas para desenvolver uma subclasse que recebe os membros e métodos de sua superclasse. Basta informar o identificador da “superclasse” e o membro ou método que deseja acessar com o operador (::).
Sintaxe
Você pode acessar um método em uma superclasse chamada “parent_class” que tenha um nome como “parent_function()” em uma subclasse usando a sintaxe mostrada abaixo:
parent_class::parent_function ( ) ;
Exemplo
Usando C++ para emular a funcionalidade de palavra-chave super para acessar as propriedades de uma classe pai, use o operador de resolução de escopo (::).
O operador de resolução de escopo (::) pode ser empregado para obter os membros de uma classe pai sempre que uma classe herda dela. Considere o seguinte código como exemplo:
#includeusando namespace std;
classe base_Classe {
público:
void baseFunction ( ) {
cout << 'Esta é a saída de baseFunction da classe base' << endl;
}
} ;
class derivada_Class: public base_Class {
público:
void dFunction ( ) {
base_Class::baseFunction ( ) ;
cout << 'Esta é uma classe derivada que acessa baseFunction da classe base' << endl;
}
} ;
int principal ( ) {
derivada_Classe d;
d.dFunção ( ) ;
retornar 0 ;
}
O programa acima está tendo uma função da classe base ou pai baseFunction(). Outra classe derivada é definida que está acessando a baseFunction() na dFunction(). O método principal primeiro cria uma instância da classe_derivada e chama o dFunction() que imprime a saída de baseFunction() e dFunction().
Conclusão
Embora a palavra-chave “super” não exista diretamente em C++, seu comportamento pode ser imitado pela combinação de herança e substituições de funções. Podemos chamar e usar com sucesso métodos ou membros da superclasse chamando as funções da superclasse antes de passar para a implementação da subclasse. Esta postagem também forneceu uma instância do código C++ para sua melhor compreensão.