Funkcja klasy bazowej wywołania w C ++

Funkcja klasy bazowej wywołania w C ++
Istnieje pojęcie dziedziczenia w wielu językach programowania, takich jak C++. Zapewni to możliwość korzystania z zajęć dla dzieci w twoim programie, które pochodzą z ich klas podstawowych. Klasa dziecięca może uzyskać dostęp do członków danych w swojej konkretnej klasie podstawowej, i.mi., Zmienne i metody. W ramach tego przewodnika będziemy omawiać różne sposoby wykonywania lub wywołania podstawowej funkcji połączenia w C++. Zacznijmy więc od uruchomienia konsoli terminalowej Ubuntu 20.04 System operacyjny Linux za pomocą klawisza skrótu „Ctrl+alt+t” na pulpicie. Rzućmy okiem na niektóre proste przykłady, które można teraz wywołać metodę podstawową w C ++.

Przykład 01:

Pierwszy przykład rozpoczął się od generowania nowego pliku C ++, który zostanie użyty do utworzenia kodu. Bardzo znana instrukcja „dotyk” jest tutaj wykorzystywana do stworzenia „bazy.plik CC ”. Ten plik musi zostać otwarty w ramach jakiegoś edytora, który jest już wbudowany w Ubuntu 20.04 System, i.mi., vim, nano lub edytor tekstu. Wybraliśmy redaktora „Nano”, aby go otworzyć.

Kod rozpoczął się od włączenia niektórych potrzebnych plików nagłówka C ++, takich jak „iostream” i „bity/stdc++.H". Plik jest otwarty w pustym edytorze GNU nano Ubuntu 20.04 System. Język C ++ używa przestrzeni nazw „STD” do użycia klauzul „Cout” i „CIN” do wyświetlania i uzyskania danych wejściowych. Rozpoczęliśmy nową klasę „A” z programem publicznym (). Ta funkcja zawiera pojedynczą instrukcję Cout, aby wyświetlić, że jest to teraz funkcja klasy nadrzędnej. Po tej klasie stworzyliśmy nową klasę „B” odziedziczoną po klasie „A”. Oznacza to, że klasa B jest klasa dzieci klasy A i może odziedziczyć jej właściwości. Klasa „B” zawiera również funkcję typu publicznego o nazwie „Display ()”. Ta funkcja wykorzystuje tutaj pojedynczą instrukcję „cout”, aby wyświetlić, że ta funkcja została wykonana w klasie dziecięcej tego programu. Teraz klasa dzieci została tutaj zakończona. Rozpoczęliśmy tutaj metodę Main (), aby wykonać klasy.

Teraz spróbujemy wywołać funkcję „pokaż” klasę nadrzędną A bez tworzenia jej obiektu. W tym celu będziemy używać obiektu dzieci klasy B. Tak więc, w ramach funkcji Main (), stworzyliśmy obiekt „OBJ” klasy B za pomocą „kropka” między nazwą klasy a nazwą obiektu. Ten obiekt „OBJ” został tutaj wykorzystany ze znakiem „DOT”, aby wywołać funkcję „show ()” klasy nadrzędnej o nazwie „A”. Nie używamy tego obiektu, aby wywołać funkcję klasy B. Jeśli Child Class B zawierało funkcję konstruktora, funkcja konstruktora zostanie wykonana zaraz po utworzeniu obiektu. To jest pojęcie dziedziczenia przy użyciu obiektu klasy dziecięcej do wywołania funkcji odpowiedniej klasy nadrzędnej. Tak to robimy. Zapiszmy i oprócz kodu w skrótach Ctrl+S i Ctrl+X.

Po zapisaniu kodu, wróciliśmy do terminalu. Przed wykonaniem kod należy skompilować na powładzie za pomocą kompilatora C ++. Ubuntu 20.04 wymyśla kompilator „G ++”, który można zainstalować z pakietem „Apt”. Użyliśmy więc tego kompilatora „G ++” do skompilowania nowo wykonanego pliku, a następnie wykonaliśmy go za pomocą „./A.out ”Ubuntu 20.04 Instrukcja. W zamian wykonano funkcję klasy nadrzędnej „show ()” i otrzymaliśmy wiadomość wyświetlania.

Przykład 02:

Naszym pierwszym przykładem było wywołanie funkcji z klasy podstawowej, która zawiera unikalną nazwę ogólnie kod. Ale co zrobisz, gdy zarówno klasy nadrzędne, jak i dziecięce zawierają tę samą funkcję nazwy z tymi samymi parametrami i typami zwrotu? Rzućmy okiem na tę metodę, aby wywołać funkcję klasy podstawowej. Po plikach nagłówka i przestrzeni nazw, zadeklarowaliśmy dwie klasy, A i B. A jest klasą macierzystą B, a klasa B wywodzi właściwości klasy A klasy A. Obie klasy A i B zawierają funkcję „same ()” o tej samej nazwie i tej samej implementacji osobno. Implementacja obu funkcji zawiera instrukcję Cout pokazującą, czy wykonano metodę klasy nadrzędnej, czy metodę klasy dzieci.

Zastosowaliśmy wywołanie funkcji dla klasy nadrzędnej metody „same ()” w ramach klasy B za pomocą znaku „::” na ostatnim wierszu. Ma to na celu uniknięcie niedogodności, które mogą być spowodowane, gdy obiekt wywoła tę samą funkcję nazwy. Tak więc, w ramach funkcji Main (), stworzyliśmy obiekt „B” klasy dziecięcej „B”. Ten obiekt „B” służy do wywołania funkcji „samej” klasy B. Gdy użytkownik próbuje wywołać tę samą funkcję nazwy klasy nadrzędnej z tym samym obiektem, rzuci wyjątek. Ze względu na użycie wywołania funkcji „A:. Zapisz swój kod i zrezygnuj z edytora.

Kompilacja i uruchomienie zaktualizowanego kodu prowadzą nas do poniższego wyjścia. Możesz zobaczyć, że zarówno te same funkcje nazwy dziecka, jak i klasa nadrzędnego są wykonywane za pomocą jednego obiektu.

Przykład 03:

Zobaczmy inną metodę wywoływania funkcji wywołania podstawowego w C w C++. Zaktualizowaliśmy więc ten sam kod. Pliki nagłówkowe, przestrzeń nazw, rodzic i dzieci nie są niezmienione, i.mi., nie są aktualizowane. Jedyna aktualizacja została wykonana w metodzie „main ()” tego kodu. Stworzyliśmy dwa obiekty, B1 i B2, z klasy dziecięcej „B”. Obiekt B1 nazywa funkcję „show ()” klasy dziecięcej bezpośrednio. Podczas gdy obiekt B2 wywołuje funkcję klasy nadrzędnej show () za pomocą znaku „::” między nazwą klasy a nazwą funkcji. Po prostu uruchommy ten kod po jego zapisaniu.

Wynik wykonania tego kodu działał pomyślnie i widzimy, że funkcja klasy podstawowej jest również wywoływana przy użyciu obiektu klasy dzieci „B2”.

Przykład 04:

Ostatni przykład jest zupełnie inny od wszystkich powyższych przykładów. Ogólny kod jest niezmieniony, podczas gdy funkcja main () została niewiele aktualizowana. Stworzyliśmy obiekt „B” klasy B. Ten obiekt „B” nazywa funkcję klasy dzieci „sama”. Następnie stworzył wskaźnik „P” typu klasy podstawowej „A”, który wskazywał na obiekt „B” klasy B klasy B. Ten wskaźnik jest następnie używany do wywołania tej samej funkcji () klasy A podstawowej. Uruchom ten kod i zobaczmy wyniki.

Po uruchomieniu tego zaktualizowanego kodu wskaźnika widzieliśmy, że funkcja klasy podstawowej została wykonana za pomocą wskaźnika po wykonaniu metody klasy dzieci. Tak to robimy.

Wniosek:

Ten artykuł jest super bonusem dla użytkowników, którzy szukają koncepcji dziedzictwa. Wykazał funkcję klasy bazowej przy użyciu obiektu klasy dzieci lub obiektu klasy nadrzędnej. Z drugiej strony wykorzystaliśmy również koncepcję wskaźników do wywołania funkcji klasy podstawowej z głównej funkcji programu.