Domyślny konstruktor jest wykorzystywany do generowania obiektów bez predefiniowanej wartości początkowej. Konstruktor może mieć domyślne parametry, a także wartości domyślne. Jeśli użytkownik nie określa domyślnego konstruktora, kompilator może automatycznie skonstruować jeden i zdefiniować go zgodnie z wymaganiami. Niektóre konfiguracje przedziałów klasowych muszą być wykonane przez domyślny konstruktor określony przez kompilator. Ale w zależności od sytuacji kompilator tworzy instrukcje dla domyślnego konstruktora.
W tym artykule omówimy funkcję domyślnego konstruktora."
Przykład nr 1
Zdefiniujmy klasę odziedziczoną przez inną klasę posiadającą domyślny konstruktor lub utwórz klasę zawierającą element innej klasy posiadający domyślny konstruktor. Zintegrowany obiekt klasy i zintegrowany obiekt domyślnych konstruktorów musi zostać wywołany przez kompilator poprzez włączenie programu.
#włączać
za pomocą przestrzeni nazw Std;
baza klas
publiczny:
;
Klasa X
publiczny:
X () cout << "X Constructor" << endl;
int rozmiar;
;
Klasa L: public X
;
Klasa M: public X
publiczny:
M()
Cout << "M Constructor" << endl;
;
klasa N
publiczny:
N()
Cout << "N Constructor" << endl;
prywatny:
X x;
;
int main ()
Baza podstawowa;
Ll;
M m;
N n;
powrót 0;
Przede wszystkim zintegrujemy bibliotekę . Ten plik nagłówka będzie zawierać różne funkcje wejściowe i wyjściowe. Następnie wykorzystamy standardową przestrzeń nazw. W następnym kroku utworzymy klasę podstawową. Tutaj kompilator zadeklaruje konstruktora. I ustawiliśmy to publicznie. Teraz utworzymy klasę o nazwie x. Konstruktor zdefiniowany przez użytkownika zostanie nazwany publicznie. Zainicjujemy zmienną „rozmiar”.
Ponadto stworzymy obiekt klasy „L”. Obiekt tej klasy zostanie ustalony jako publiczny. Tutaj kompilator określa domyślny konstruktor klasy „L”, a my wstawiamy klasę, aby wywołać konstruktor obiektu. Kompilator nie zainicjowałby żadnej wartości klasy x. Teraz ponownie tworzymy nową klasę o nazwie M. Konstruujemy obiekt klasy M, a następnie określamy go jako publiczne.
W ramach tej klasy tworzymy zdefiniowany przez użytkownika konstruktor klasy M. Kompilator zintegruje klasę, aby wywołać konstruktor X. Oświadczenie „cout” zostanie wykorzystane do pokazania wyniku. Utwórzmy kolejną klasę, n. Publicznie tworzymy konstruktor tej klasy. To będzie konstruktor zdefiniowany przez użytkownika. Następnie wkładane jest polecenie „cout”, aby pokazać wynik.
Tutaj kompilator po raz kolejny nie zainicjował żadnych treści związanych z klasą N. Ponadto zbudowalibyśmy obiekt „x” klasy „x”. I ten element klasy mógł być prywatny. Teraz nazywamy funkcję main (). Wzywamy obiekty różnych klas.
Przykład nr 2
Kompilator może wymagać wstawienia kodu w różnych sytuacjach, aby sprawdzić, czy język wymaga pewnej konfiguracji. Domyślny konstruktor w tym przypadku ma dwa argumenty: prosty argument i domyślny argument. Obecnie istnieją dwie metody wywoływania domyślnego konstruktora:
Po pierwsze, możemy podać obie wartości parametrów, które zostaną podane domyślnej konstruktorowi, zastępując domyślny parametr za pomocą wartości, która została podana podczas wykonywania domyślnego konstruktora.
Drugie podejście jest stosowane w celu wskazania domyślnego argumentu jest puste. Kiedy to zrobisz, „J” obliczy podsumowanie 5 i wykorzysta jego domyślną wartość 0 jako pożądaną wartość.
#włączać
za pomocą przestrzeni nazw Std;
Klasa F
publiczny:
int s = 0;
F();
F (int i, int j = 0)
s = i + j;
void print () cout << "Sum of two numbers =" << s << endl;
;
int main ()
F O_1 (23, 50);
F O_2 (5);
O_1.wydrukować();
O_2.wydrukować();
powrót 0;
Tutaj dołączymy bibliotekę . Następnie wykorzystujemy standardową przestrzeń nazw jako STD. Teraz tworzymy klasę o nazwie „F”. W ramach tej klasy zainicjujemy zmienną określaną przez „S”. Tutaj domyślny konstruktor nie zawiera żadnych argumentów. Nazwa konstruktora i klasy będzie taka sama. Tworzymy inny domyślny konstruktor klasy „F”. Ale tutaj przekazujemy dwie zmienne (I i J) jako parametr konstruktora.
Ponadto zastosujemy formuły sum. Tutaj dodajemy wartość jednej zmiennej do drugiej. Następnie nazywamy metodę void () i wraz z tym używamy instrukcji „cout”, aby wydrukować instrukcję „sumę dwóch wartości”. Teraz zacznijmy kodowanie wewnątrz ciała funkcji Main () po wywołaniu tej funkcji. Tworzymy dwa różne obiekty klasy F. Pierwszy obiekt, „O_1”, ma dwie wartości liczb całkowitych jako argumenty. Druga zmienna, „O_2”, zawiera tylko 1 wartość jako parametr.
Przywołamy się do konstruktora w tych dwóch możliwych podejściach. Wykorzystujemy metodę print () dla obu tych obiektów odpowiednio, aby wyświetlić wyjście. W końcu użylibyśmy instrukcji „return 0”.
Wniosek
W tym poście rozmawialiśmy o działaniu domyślnego konstruktora. Konstruktor zachowuje podobny tytuł jak klasa, jest otwarty dla publiczności, a zatem nie zawiera typu powrotu. W domyślnym konstruktorze nie zapewnimy żadnych parametrów. Prowadziliśmy różne programy, z których jeden pokazuje, jak korzystać z domyślnego konstruktora. Ilustrujemy, że konstruktorzy mieliby domyślne parametry w drugim przykładzie. Tworzymy dwa domyślne konstruktory, jeden bez argumentów, a drugi z dwoma argumentami, a następnie oceniamy ich funkcjonalność.