Jak emulować słowo kluczowe super w C++

Jak Emulowac Slowo Kluczowe Super W C



Niektóre języki programowania obiektowego mają słowo kluczowe „super”, które umożliwia podklasie wywoływanie funkcji i członków klasy podstawowej lub nadrzędnej. Niektóre języki programowania określają, w jaki sposób należy konkretnie używać słowa kluczowego „super”. Ale w przypadku C++ słowo kluczowe super nie jest używane w taki sam sposób, jak w Javie i Pythonie. W tym samouczku przestudiujemy i zademonstrujemy emulację super słów kluczowych w C++.

Jak emulować słowo kluczowe super w C++

Słowo kluczowe znane jako „super” nie jest predefiniowane w kompilatorze C++. Dziedziczenie i zastępowanie funkcji są używane do tworzenia podklasy, która przyjmuje składowe i metody swojej nadklasy. Po prostu podaj identyfikator „nadklasy” i członka lub metodę, do której chcesz uzyskać dostęp, za pomocą operatora (::).







Składnia

Możesz uzyskać dostęp do metody w nadklasie o nazwie „parent_class”, która ma nazwę taką jak „parent_function()” w podklasie, używając składni pokazanej poniżej:



klasa_nadrzędna::funkcja_nadrzędna ( ) ;



Przykład

Używając języka C++ do emulacji funkcji super słowa kluczowego w celu uzyskania dostępu do właściwości klasy nadrzędnej, użyj operatora rozpoznawania zakresu (::).





Operator rozpoznawania zasięgu (::) może być wykorzystany do uzyskania członków klasy nadrzędnej za każdym razem, gdy klasa po niej dziedziczy. Rozważ następujący kod jako przykład:

#include
używając przestrzeni nazw std;

klasa klasa_bazowa {
publiczny:
pusta funkcja bazowa ( ) {
cout << „To jest outout funkcji baseFunction z klasy podstawowej” << koniec;
}
} ;
klasa pochodna_klasy: publiczna klasa_podstawowa {
publiczny:
Unieważnij funkcję d ( ) {
klasa_podstawowa::funkcja podstawowa ( ) ;
cout << „To jest klasa pochodna, która uzyskuje dostęp do funkcji baseFunction z klasy podstawowej” << koniec;
}
} ;
int główny ( ) {
pochodna_Klasa d;
d.dFunkcja ( ) ;
powrót 0 ;
}


Powyższy program posiada funkcję z klasy bazowej lub nadrzędnej baseFunction(). Zdefiniowana jest inna klasa pochodna, która uzyskuje dostęp do baseFunction() w dFunction(). Główną metodą jest najpierw utworzenie instancji klasy pochodnej i wywołanie funkcji dFunction(), która wyświetla dane wyjściowe funkcji baseFunction() i dFunction().



Wniosek

Chociaż słowo kluczowe „super” nie występuje bezpośrednio w C++, jego zachowanie można naśladować, łącząc dziedziczenie i przesłanianie funkcji. Możemy z powodzeniem wywoływać i używać metod lub członków nadklasy, wywołując najpierw funkcje nadklasy, zanim przejdziemy do implementacji podklasy. Ten post zawiera również instancję kodu C++ dla lepszego zrozumienia.