Przykład 01
Rozpocznij swój pierwszy przykład C ++ dla listy inicjalizatorów z tworzeniem nowego dokumentu C ++. Do wygenerowania pliku o nazwie plik o nazwie „initList” można użyć nawet zielonego słowa „dotykującego.CC ”. Ten plik można znaleźć w folderze domowym, otwierając eksplorator plików z bocznego paska aplikacji na Ubuntu 20.04. Redaktor GNU Nano jest tutaj, aby pomóc i uruchomić „initList.plik CC ”. Twój plik zostanie szybko otwarty w edytorze w skorupce:
Kod C ++ musi zawierać standardową przestrzeń nazw i strumień „IO”, jak to zrobiliśmy poniżej. Klasa „testowa” jest inicjowana z dwoma prywatnymi członkami danych, „A” i „B”. Lista inicjalizatorów została użyta z publicznym konstruktorem „test ()”, aby stworzyć listę obu członków danych „A” i „B”. Okrężnica została użyta do oddzielenia konstruktora i listy inicjalizatorów. Następnie dwie funkcje zdefiniowane przez użytkownika, i.mi., getA () i getB (), są inicjowane, aby uzyskać wartości dla obu elementów danych osobno od listy inicjalizacyjnej używanej z konstruktorem i zwrócić wynik do funkcji głównej. Klasa kończy się tutaj, a funkcja main () zaczyna się. W metodzie main () stworzyliśmy obiekt „t” klasy „test”. Obiekt przyjmuje dwie wartości parametryczne typów liczb całkowitych, a konstruktor zostanie wywołany automatycznie, aby ustawić wartości elementu danych z listą inicjalizatora.
Następnie używane są standardowe klauzule Cout do wyświetlania obu wartości elementu danych na powładzie za pomocą obiektu „t” do wywołania funkcji „getA ()” i „getB ()”. Główna funkcja zamyka się tutaj, a kod jest zakończony. Zapisz kod i uruchom go w skorupce:
Opracowaliśmy poprzedni kod z pakietem kompilatora G ++. W wykonaniu mamy zarówno wartości elementu danych osobno na powładzie:
Przykład 02
W naszym drugim przykładzie będziemy używać listy inicjalizacyjnej do inicjalizacji niektórych niestatycznych elementów danych stałego typu w kodzie C ++. Po przestrzeni nazw klasa o nazwie „Nowa” została zainicjowana z prywatną zmienną całkowitą stałą „N”. Funkcja konstruktora typu publicznego jest używana wraz z listą inicjalizatora do zainicjowania stałego elementu danych „N”. Nowa funkcja „get ()” w typu return liczb całkowitych została użyta do zwrócenia wartości elementu danych „N” do funkcji głównej. Funkcja main () jest tworzenie obiektu n1 klasy „nowej”, jednocześnie przekazując wartość „13” jako argument.
Konstruktor zostanie wywołany, a lista inicjalizacyjna ustawi wartość elementu danych „N”. Funkcja get () została wywołana w klauzuli COUT, aby wyświetlić ustaloną wartość elementów danych w powładzie za pomocą obiektu „N1”. Główna funkcja i programy kończą się tutaj:
Używamy listy inicjalizatorów, aby zainicjować wartość dla niektórych niestatycznych stałych elementów danych w C++. Dane wyjściowe dla tego kodu pokazało stałą wartość 13 na powłoce:
Przykład 03
Użytkownicy mogą również korzystać z listy inicjalizacyjnej z konstruktorem, aby zainicjować niektóre elementy danych referencyjnych. W klasie „nowa” użyliśmy zmiennej referencyjnej „N” typu liczb całkowitych. Konstruktor typu publicznego wykorzystuje listę inicjalizatora do zainicjowania członka danych referencyjnych z pewną wartością. Funkcja „get ()” jest ponownie wykorzystywana do uzyskania wartości z listy inicjalizacyjnej i zwrócenia jej do terminalu. W ramach głównej funkcji zainicjowaliśmy liczbę całkowitą „a” o wartości 13.
Obiekt klasy „N1” został przekazany ze zmienną „A”, a konstruktor zostałby wywołany w celu zainicjowania elementu danych odniesienia za pomocą listy inicjalizacyjnej. Instrukcja Cout otrzymuje zainicjowaną wartość elementu referencyjnego za pomocą metody „get ()” za pomocą obiektu „N1”. Zmienna „A” została zaktualizowana o nową wartość, i.mi., 23. Instrukcja Cout jest ponownie używana, aby uzyskać zaktualizowaną wartość z funkcji get (). Zmienna „A” została związana ze zmienną odniesienia „N”. Tak więc za każdym razem, gdy aktualizujemy wartość, wyświetli nowy na powładzie:
Najpierw skompiluj kod i wykonaj go później. Wyświetla pierwszą wartość zmiennej odniesienia, a następnie zaktualizowany na powładzie. W ten sposób lista inicjalizacyjna działa w przypadku elementów danych referencyjnych:
Przykład 04
Listę inicjalizacyjną można również użyć do inicjalizacji obiektu podczas pracy w więcej niż jednej klasie w C++. Więc użyliśmy dwóch klas, jednej i dwóch, w naszym nowo utworzonym kodzie. Pierwsza klasa o nazwie „One” zawiera zmienną liczbową „Val”. Zawiera także prototyp definicji funkcji konstruktora „One”, przyjmując pewną wartość całkowitą. Klasa została zamknięta i nie ma w sobie żadnego domyślnego konstruktora. Konstruktor został zainicjowany poza tą klasą „A”, otrzymując bezpośrednio wartość typu liczb całkowitych z głównej funkcji. Ta wartość została wyświetlona przy użyciu instrukcji Cout przy użyciu zmiennej „Val” w niej. Kolejna klasa, „dwa”, została zdefiniowana za pomocą obiektu „jeden”, i.mi., "A". Ta klasa zawiera również prototyp definicji konstruktora.
Po tej klasie użyliśmy jego konstruktora klasy poza nim za pomocą listy inicjalizacyjnej, aby uzyskać wartość obiektu „A” klasy „One” bezpośrednio. Oświadczenie cout wskazało, że pracujemy w klasie „dwa” konstruktor. W ramach głównej funkcji utworzyliśmy obiekt klasy „dwa” i przekazaliśmy mu wartość 13 na swoją listę inicjalizacyjną utrzymaną za pomocą konstruktora. Ta lista inicjalizatorów wywoła obiekt „a” klasy „One”, a następnie przekazuje wartość do konstruktora klasy „One”. Konstruktor zostanie wykonany, a wartość zostanie zapisana w zmiennej „val” i wyświetlona na powładzie. Kontrola wróciła do konstruktora „dwóch” klasy, a instrukcja Cout zostanie wykonana:
W zamian mamy następujący wynik. Wyświetla zmienną wartość „VAL” na powłoce wraz z stwierdzeniem, że działa w klasie „One” lub „Two” konstruktor.
Wniosek
Ten artykuł zawiera kilka przykładów korzystania z list inicjalizatorów w programach C ++. Widzieliśmy użycie listy inicjalizacyjnej do inicjowania prostych członków danych, elementów danych stałego typu, elementów referencyjnych i inicjalizacji obiektów. Mamy nadzieję, że ten artykuł zadziała dla Ciebie. Sprawdź więcej artykułów pouczających w Linuxhint.