Czym jest konstruktor dziedziczenia w C ++

Czym jest konstruktor dziedziczenia w C ++
W c++, dziedzictwo jest kluczowym pojęciem w programowaniu obiektowym. Klasa pochodna może odziedziczyć cechy i zachowania klasy podstawowej dzięki potężnym dziedzictwo zdolność w c++. Klasa pochodna natychmiast dziedziczy wszystkich członków klasy podstawowej po jej utworzeniu. Konieczne jest, aby konstruktor klas pochodnych zainicjował również członków klasy podstawowej. W c++, dziedzictwo jest potężną funkcją, która umożliwia programistom ponowne wykorzystanie kodu, poprawę wydajności i organizowanie kodu w hierarchie logiczne.

Wraz z dziedzictwem konstruktory są również niezbędne w C++. A konstruktor jest unikalną funkcją członka, która pozwala zainicjować właściwości obiektu. Jakiś Konstruktor dziedziczenia jest konstruktorem używanym do inicjalizacji zarówno klasy podstawowej, jak i pochodnej klasy, które odziedziczyła klasa pochodna. Konstruktor dziedziczenia jest odpowiedzialny za inicjowanie zarówno odziedziczonych członków klasy bazowej, jak i pochodnych członków klasy. Aby to osiągnąć, konstruktor wywołuje konstruktor klasy podstawowej, upewniając się, że wszyscy członkowie klasy pochodnej są prawidłowo zainicjowane, w tym ci odziedziczone po klasie podstawowej.

Wywołując konstruktor klasy podstawowej i przekazując ją niezbędne parametry, Konstruktor dziedziczenia inicjuje członków klasy podstawowej. Odbywa się to za pomocą „klasa podstawowa (args)” Lista inicjalizacji w konstruktorze. Dalsze instrukcje szczególne dla klasy pochodnej znajdują się w korpusie konstruktora.

Składnia dla dziedziczenie Klasa w C ++ to:

klasa pochodna Class: AccessEpecifier Baseclass
// Członkowie klasy
;

Nowa klasa powstała w tym przypadku, "Klasy pochodnej", odziedziczy „Klasa bazowa”. Poziom dostępu do odziedziczonych członków jest określony przez „Dostęp do dyspozycji ”. C ++ wykorzystuje trzy typy specyfikatorów dostępu, a mianowicie "publiczny prywatny", I "chroniony". Słowo "publiczny" wskazuje, że klasa pochodna ma dostęp do członków publicznych klasy podstawowej. Klasa pochodna nie ma dostępu do członków klasy podstawowej, zgodnie z 'prywatny' specyficzny. Klasa pochodna ma dostęp do chronionych członków klasy bazowej, które mogą być odziedziczone przez ich zajęcia dla dzieci, zgodnie z 'chroniony' specyficzny.

Przykład dziedziczenia w C++

Poniższy przykład pokazuje wdrożenie Dziedzictwo W C ++:

#włączać
za pomocą przestrzeni nazw Std;
Zwierzę klasowe
publiczny:
void eat ()
Cout << "I can eat!" << endl;

void sleep ()
Cout << "I can sleep!" << endl;

;
Class Cat: Public Animal
publiczny:
void meow ()
Cout << "I can meow!" << endl;

;
int main ()
Cat Cat1;
Cat1.jeść();
Cat1.spać();
Cat1.miauczeć();
powrót 0;

Dany kod określa dwie klasy, "Zwierzę" I "Kot", Gdzie "Kot" pochodzi z "Zwierzę". Obie klasy mają pewne funkcje członków, takie jak "jedz Śpij", I "miauczeć". Główna funkcja tworzy obiekt klasy "Kot" i dzwoni dziedziczny Funkcje z klasy "Zwierzę" a także specyficzna funkcja klasy "Kot", który jest "miauczeć". Program wyprowadza tekst do konsoli, wskazując, że kot może jeść, spać i miauczyć.

Wyjście

Po wyprowadzaniu klasy wszystkie zmienne członkowskie klasy podstawowej i funkcje członka są przenoszone do klasy pochodnej. dziedziczny Dostępność członków w klasie pochodnej jest określana przez specyfikator dostępu. Klasa pochodna może również zastąpić nowe cechy tym, które już istnieją. Może dodać nowe implementacje dla metod klasy podstawowej i dodać nowe funkcje i zmienne członka.

Ważne jest, aby pamiętać, że Konstruktor dziedziczenia Musi być używany do wyraźnego wywołania konstruktora klasy podstawowej z niezbędnymi parametrami, jeśli klasa podstawowa ma domyślny konstruktor lub jeśli nie jest dostępna.

Wniosek

Silna cecha dziedzictwo W C ++ pozwala klasom ponowne wykorzystanie kodu poprzez odziedziczenie cech i działań od innych. Przydatna funkcja C ++ Konstruktor dziedziczenia pozwala klasom pochodnym odziedziczyć właściwości, metody i dane danych klasy podstawowej. Z dodaniem listy inicjalizacji dla konstruktorów klasy podstawowej jest ona definiowana przy użyciu tej samej składni co standardowy konstruktor. Programiści C ++ mogą zminimalizować powielanie kodu i ulepszyć strukturę kodu, wykorzystując Konstruktor dziedziczenia. W celu tworzenia złożonych hierarchii klas w programowaniu obiektowym jest to ważne narzędzie.