Hva er containerklasser C++?

Hva er containerklasser C++?

En containklasse som navnet antyder brukes til å inneholde forskjellige verdier, objekter og variabler osv. i minnet eller den eksterne lagringen. En containerklasse støtter andre klasser som er til stede i programmene, og den fungerer for å skjule objektene/variablene som brukes i minnet. Den lagrer mange varer, og alle disse varene er lett tilgjengelige av andre medlemmer av programmet.

Alle containerklasser får tilgang til elementene i beholderen effektivt gjennom iteratorene. Denne klassen er kjent for å holde noen lignende og blandede objekter i minnet. En beholder kan være av en homogen eller heterogen type. Hvis beholderen har blandede objekter, er den heterogen, mens i tilfelle av lignende elementer er det kjent som homogen containerklasse.

Vi skal forklare dette konseptet på Linux -operativsystemet, så du må ha Ubuntu installert og i kjøringsform på systemet ditt. Så du må installere virtuell boks og etter nedlasting og installasjon nå konfigurer den. Legg nå Ubuntu -filen til den. Du kan få tilgang til Ubuntus offisielle nettsted, og last ned filen i henhold til systemkravet og operativsystemet ditt. Det vil ta timer, deretter etter installasjonen, konfigurer den på den virtuelle maskinen. I konfigurasjonsprosessen, sørg for at du har opprettet brukeren fordi det er viktig for enhver operasjon på Ubuntu -terminalen. Dessuten trenger Ubuntu godkjenning av brukeren før du gjør noen installasjon.

Vi har brukt 20.04 versjon av Ubuntu; Du kan bruke den siste. For implementeringen må du ha en tekstredigerer og må ha tilgang til Linux -terminalen, fordi vi vil kunne se utdataene fra kildekodene på terminalen gjennom spørringen. Brukeren må ha grunnleggende kunnskap om C ++ og objektorientert programmering for å benytte seg av klasser i programmet.

Containerklasse/containerskip og dets typer

En klasse sies å være en beholder når den brukes til å holde verdier som brukes av andre variabler i samme program. Et GUI -klassebibliotek har en gruppe containklasser. Pekerebeholderne gir containerne som holder gjenstandene som er tildelt gjennom Safe Heap -valg. Denne bruken av containerklasse har formålet å gjøre OOP veldig enkel på C ++ -språket. Dette gjøres når et standardsett av klassen er etablert.

Typen forhold mellom klasser er kjent som containerskip. Klassen som inneholder denne typen forhold er containerklassen. Tilsvarende er objektet kjent som et containerobjekt.

C ++ standardbeholderklasser

Standardklassene er beskrevet som følger:

  • STD :: Kart: Dette brukes til å håndtere en matrise eller en sparsom matrise.
  • Std :: vektor: Akkurat som en matrise har containerklassene flere funksjoner som å sette inn og fjerne elementer, minnehåndtering automatisk og kaste unntak.
  • Std :: streng: Det er en rekke karakterer.

Syntaks for containerskip

// klasse som skal inneholdes
klasse en
;
// Containerklasse
klasse to
// lage objekt av en
En o;
;

Eksempel 1

I dette eksemplet har vi opprettet en containerklasse med navnet Second. For det første brukes biblioteket til å gjøre filen aktivert å lese og skrive. Den første klassen inneholder en funksjon som heter display som brukes til å vise meldingen når funksjonen kalles. I den offentlige delen av klassen er det en konstruktør som kaller funksjonen til den første klassen, og deretter vises verdien. Disse alle trinnene kan forkortes ved å gjøre disse funksjonene i en enkelt klasse, men når vi diskuterer konseptet med en beholder, er det derfor hver funksjon utføres separat i en individuell klasse.

# inkluderer

Når vi kommer tilbake til programmet, i hovedprogrammet, har vi laget gjenstanden for andre klasse. Ved å opprette dette objektet, vil den andre klassen automatisk bli ringt, og etter å ha ringt vil konstruktøren bli igangsatt som vil ringe den første klassen, og uttalelsen vises fra funksjonen.

For å se den resulterende verdien av koden, vil vi gå til Ubuntu -terminalen. For å kompilere koden bruker vi en kompilator, for C ++ bruker vi en G ++ -kompilator for å kompilere koden.

$ G ++ -o con con.c
$ ./lure

Ved å utføre koden vil du se at funksjonen vil bli utført og uttalelsen vises.

Eksempel 2

Dette eksemplet ligner det første, bare forskjellen er at vi denne gangen ikke har arvet den første klassen til den andre ved å lage objektet. Men en melding vises i klassen. Den første klassen har en offentlig porsjon som inneholder en konstruktør direkte, men ikke skjermfunksjonen. Dette er fordi vi ikke er villige til å gjøre et forhold til førsteklasses med den andre. Vi har ikke ringt en funksjonsanrop. Formålet med den andre klassen er opprettet i hovedprogrammet.

Igjen, gå til terminalen og bruk den samme kommandoen, dette vil vise to meldinger, den ene fra første klasse, og den andre fra andre klasse. Dette eksemplet viser at containere også kan brukes uten interaksjon med andre funksjoner.

Eksempel 3

Nå i dette eksemplet har vi ikke bare vist noen melding, et nummer er gitt i konstruktøren av containerklassen, og deretter vises det i første klasse. Første klasse bruker en variabel for å godta variabelen, og vise nummeret med den. En annen funksjon brukes her som returnerer nummeret. Nå går til andre klasse, bruker konstruktøren gjenstanden for den første klassen som ble opprettet i andre klasse.

Ved å bruke objektet kaller det begge funksjonene som er til stede i første klasse, skjermfunksjonen og GET -nummerfunksjonen. Getting Number () -funksjonen bruker nummeret og overfører det til funksjonen.

# f.getNum () = 50;
# f.vise();

Etter det i hovedfunksjonen opprettes klassens andre objekt bare. Ved opprettelsen av andre klasseobjekt blir konstruktøren av andre klasse automatisk utført. Når du utfører resultatet på terminalen, vil du vite at nummeret du skrev inn i containerklassen vises.

Nå var dette eksemplene vi har brukt for å forklare konseptet med en containerklasse. Det er forvirring mellom arv og containerskip.

I containerskip er funksjoner i klassen inne i den nye klassen, men ikke i arven, som den klassen ikke er barneklassen. For eksempel har Mobile en Android, og lastebilen har en motor. På den annen side, når det gjelder arv, når vi ønsker en ny type klasse som har funksjonene i baseklassen, er dette arv.

Konklusjon

Konseptet med containerklasse forklares ved å gi eksempler på Linux -operativsystemet ved å konfigurere Ubuntu. Containerklassen fungerer som matrisedatatypen for å inneholde verdier i den som er brukbare og tilgjengelige gjennom de andre objektene i samme eller forskjellige tilfeller. Ved å bruke containerklasse, bør brukeren være klar over forskjellen mellom arv og containerskip. I den gitte artikkelen har vi hatt som mål å beskrive det grunnleggende i containerklassen, og vi håper at denne kunnskapen er tilstrekkelig til å være opp til merket.