C ++ Initializer -lister

C ++ Initializer -lister
Du har kanskje jobbet med variabler av listetype på mange programmeringsspråk som skal brukes i koden. Lister er en av få datastrukturvariabler som brukes til å lagre mer enn en verdi om gangen. Har du imidlertid brukt listen til å initialisere noen klassedatamedlemmer mens du koder? Initializer -listene er de datastrukturer som brukes i programmering for å initialisere noen datamedlemmer i den spesifikke klassen. Hvis du ikke har gjort det så langt og du leter etter noe slikt, vil denne artikkelguiden gi deg en helt ny opplevelse. Denne artikkelen vil demonstrere flere enkle eksempler for å se funksjonen ved å bruke initializer -lister i C++. Man skal ha en G ++ -kompilator konfigurert på systemet sitt hvis du jobber med Ubuntu 20.04 System. Begynn med å starte "terminal" -applikasjonen som finnes i Ubuntu -systemet.

Eksempel 01

Start ditt første C ++ -eksempel for initialiseringslisten med opprettelsen av et nytt C ++ -dokument. Det til og med grønne "berørings" -ordet kan brukes her for å generere en fil som heter "initlist.CC ”. Du kan finne denne filen i hjemmemappen ved å åpne File Explorer fra Side -applikasjonslinjen på Ubuntu 20.04. GNU Nano Editor er her for å hjelpe og lansere “initlist.CC ”-fil. Filen din åpnes raskt i redaktøren innen skallet:

C ++ -koden må inneholde standard navneområde og "IO" -strømmen i den, slik vi har gjort nedenfor. "Test" -klassen initialiseres med to private datamedlemmer, "A" og "B". Initializer -listen har blitt brukt med den offentlige typen konstruktør “test ()” for å lage en liste over begge datamedlemmer “a” og “b”. Tykktarmen har blitt brukt til å skille konstruktøren og initializerlisten. Deretter to brukerdefinerte funksjoner, i.e., geta () og getb (), blir initialisert for å få verdiene for begge datamedlemmer separat fra initializer -listen som brukes med konstruktøren og returnere resultatet til hovedfunksjonen. Klassen slutter her, og hoved- () -funksjonen starter. Innenfor Main () -metoden har vi laget et objekt “T” av klasse “Test”. Objektet tar to parametriske verdier av heltalltyper, og konstruktøren vil bli kalt automatisk for å angi datamedlemmerverdiene med initializerlisten.

Standard cout -klausuler brukes etter det for å vise begge datamedlemmerverdiene på skallet ved å bruke objektet “t” for å kalle funksjonene “geta ()” og “getb ()” i det. Hovedfunksjonen lukkes her, og koden er avsluttet. Lagre koden og kjør den i skallet:

Vi har samlet den forrige koden med G ++ kompilatorpakken. I utførelse har vi begge datamedlemmerverdiene separat på skallet:

Eksempel 02

Innenfor vårt andre eksempel vil vi bruke Initializer-listen for initialisering av noen datamedlemmer med ikke-statisk konstant type i C ++ -kode. Etter navneområdet har klassen som heter "New" blitt initialisert med en privat type heltallvariabel "N". Konstruktørfunksjonen for offentlig type brukes sammen med initialisatorlisten for å initialisere et konstant datamedlem “n”. En ny "get ()" -funksjon på heltallsreturstypen har blitt brukt til å returnere datamedlemmet "n" -verdien til hovedfunksjonen. Main () -funksjonen er å lage et objekt N1 i klassen "nytt" mens du gir den en verdi "13" som et argument.

Konstruktøren vil bli kalt, og initialiseringslisten vil angi verdien av datamedlemmet "n". Get () -funksjonen er blitt kalt innenfor COUT -klausulen for å vise den angitte verdien av datamedlemmer i skallet ved å bruke objektet “N1”. Hovedfunksjonen og programmene slutter her:

Vi bruker initialisatorlisten for å initialisere verdien for noen ikke-statiske konstante datamedlemmer i C++. Utgangen for denne koden har vist den konstante verdien 13 på skallet:

Eksempel 03

Brukere kan også bruke initializer -listen med konstruktøren for å initialisere noen referansedatamedlemmer. Innenfor klassen "Ny" har vi brukt referansevariabelen "N" av heltallstype. Den offentlige typen konstruktør har brukt initialisatorlisten for å initialisere referansedatamedlemmet med en viss verdi. "Get ()" -funksjonen brukes igjen for å få verdien fra en initializer -liste og returnere den til terminalen. Innenfor hovedfunksjonen har vi initialisert et heltall “A” med verdi 13.

Klasseobjektet “N1” er passert med variabelen “A”, og konstruktøren vil bli kalt til å initialisere referansedatamedlemmet ved hjelp av initializer -listen. COUT -setningen får den initialiserte referansedatamedlemmerverdien ved å bruke “get ()” -metoden ved hjelp av et objekt “n1”. Variabelen “A” er oppdatert med den nye verdien, i.e., 23. Cout -setningen brukes igjen for å få den oppdaterte verdien fra get () -funksjonen. Variabelen “A” har vært bundet med referansevariabelen “N”. Så hver gang vi oppdaterer verdien, vil den sende ut den nye på skallet:

Kompilere koden først og utfør den etter det. Den sender ut den første verdien av referansevariabelen og deretter den oppdaterte på skallet. Slik fungerer Initializer -listen for referansedatamedlemmer:

Eksempel 04

Initializer -listen kan også brukes til objektinitialiseringen mens du jobber i mer enn en klasse i C++. Så vi har brukt de to klassene, en og to, i vår nyopprettede kode. Den første klassen som heter ”One” inneholder heltallvariabelen “Val”. Det inkluderer også definisjonen prototype av konstruktørfunksjonen "en", og tar noe heltallverdi. Klassen har vært stengt, og den har ingen standardkonstruktør i den. Konstruktøren har blitt initialisert utenfor denne klassen “A”, og får heltallsverdien fra hovedfunksjonen direkte. Denne verdien er vist ved hjelp av cout -setningen ved å bruke variabelen “val” i den. En annen klasse, "to", er blitt definert med en "ett" objekt, jeg.e., "en". Denne klassen inneholder også definisjonens prototype av konstruktøren.

Etter denne klassen har vi brukt klassekonstruktøren utenom den ved hjelp av initializer -listen for å få verdien for et objekt “A” av klasse “en” direkte. COUT -uttalelsen har indikert at vi jobber i klassen “to” konstruktør. Innenfor hovedfunksjonen har vi laget objektet med klasse “to” og gitt den en verdi 13 til dens initializer -liste som ble holdt med konstruktøren. Denne initialiseringslisten vil kalle objektet “A” i klasse “en” og deretter gi verdien til klassen “One” Constructor. Konstruktøren vil bli utført, og verdien vil bli lagret i variabelen “val” og vises på skallet. Kontrollen kom tilbake til klassen “Two” -konstruktør, og COUT -uttalelsen vil bli utført:

Til gjengjeld har vi følgende resultat. Den sender ut den variable “val” -verdien på skallet sammen med uttalelsen om at den har kjørt i klassen “One” eller “Two” Constructor.

Konklusjon

Denne artikkelen inneholder flere eksempler for bruk av initialisatorlister i C ++ -programmer. Vi har sett bruken av en initializer -liste for å initialisere enkle datamedlemmer, datamedlemmer med konstant type, referansedatamedlemmer og objektinitialisering. Vi håper denne artikkelen vil fungere for deg. Vennligst sjekk ut mer informative artikler på Linuxhint.