Hva er statisk medlemsfunksjon i C ++?



Denne artikkelen vil gi deg detaljert og omfattende kunnskap om statisk medlemsfunksjon i C ++ med eksempler.

Statisk er et nøkkelord i C og C ++ som brukes til å erklære en spesiell type variabel eller en funksjon innenfor eller utenfor en klasse. I dette innlegget vil vi kort forstå begrepet statiske medlemsvariabler og statiske medlemsfunksjoner i c ++ og sammenligne dem med normale variabler og funksjoner i følgende rekkefølge:

Statiske medlemsvariabler

Variabler klassifisert som statiske er også en del av C. anta at det i en funksjon er to variabler, den ene er en normal variabel og den andre er en statisk variabel. Normalvariabelen opprettes når funksjonen kalles og omfanget er begrenset. Mens den statiske variabelen blir opprettet en gang og ødelagt på slutten av programmet. Disse variablene har en levetid gjennom hele programmet.





# inkludere bruk av navneområde std ugyldig Test () {statisk int x = 1 x = ++ x int y = 1 y = ++ y cout<<'x = '<

Produksjon:

static-member-variables-1



Fra ovenstående utgang kan vi konkludere med at hver gang Test () -funksjonen ble kalt, ble en kopi av variabelen ‘y’ opprettet mens den samme kopien av variabelen ‘x’ ble brukt hver gang Test () -funksjonen ble kalt.

La oss nå diskutere egenskapene til de statiske variablene

  1. Statiske variabler initialiseres til 0. Den initialiseres bare én gang.



    hva er kontekstfiltre i tablå
  2. Gjennom hele programmet opprettes bare en kopi av den statiske medlemsvariabelen for hele klassen, derfor kalles også statiske medlemsvariabler for klassevariabler. Det deles av alle forekomster av klassen.

  3. Den statiske medlemsvariabelen er bare synlig i klassen, men dens levetid er til programmet avsluttes.

La oss se på et eksempel på statiske medlemsvariabler i en klasse.

#include using namespace std class Eksempel {static int x public: void function1 () {x ++} void function2 () {cout<<'x = '<

Produksjon:

hva er en blockchain-utvikler

Fra ovenstående utgang kan vi se at variabelen ‘x’ deles på tvers av alle objektene. For å forstå konseptet med de statiske datavariablene i detalj kan vi tenke på et bibliotek der det er flere bøker plassert i forskjellige hyller. Betrakt biblioteket som en klasse, posisjonen til en bestemt bok ‘x’ som en statisk medlemsvariabel og elevene som objekter i klassen. Når den første studentenankom plasserer han 'x' på en ny stilling nå når en annen student ankommer 'x' vil ikke gå tilbake til sin opprinnelige posisjon, men den vil forbli der den første studenten forlot den.

Statiske medlemsfunksjoner i C ++

Akkurat som statiske medlemsvariabler har vi statiske medlemsfunksjoner som brukes til et bestemt formål. For å opprette en statisk medlemsfunksjon må vi bruke det statiske nøkkelordet mens vi erklærer funksjonen. Siden statiske medlemsvariabler er klasseegenskaper og ikke objektegenskaper, må vi bruke klassenavnet i stedet for objektnavnet for å få tilgang til dem.

Egenskaper for statiske medlemsfunksjoner:

  1. En statisk funksjon har bare tilgang til andre statiske variabler eller funksjoner i samme klasse

  2. Statiske medlemsfunksjoner kalles ved bruk av klassenavnet. Syntaks-klassenavn :: funksjonsnavn ()

La oss vurdere et klassisk eksempel for å forstå konseptet med statiske medlemsfunksjoner i detalj. I dette eksemplet vil vi forstå alle konseptene knyttet til statiske medlemsfunksjoner.

#include using namespace std class Eksempel {static int Number int n public: void set_n () {n = ++ Number} void show_n () {cout<<'value of n = '<

Fra ovenstående utgang kan vi se at verdien av variabelen ‘n’ er forskjellig for både objektene ‘eksempel1’ og ‘eksempel2’ i klassen ‘Eksempel’. Siden variabelen 'Antall' er en klassevariabel, er verdien den samme for både objektene 'eksempel1' og 'eksempel2'. Statiske medlemsvariabler og funksjoner brukes når vanlige verdier skal deles på tvers av alle objektene. Mens du programmerer, bør bruk av statiske søkeord gjøres klokt.

Med dette kommer vi til en slutt på denne artikkelen om Statisk medlemsfunksjon i c ++. Hvis du ønsker å lære mer, sjekk ut av Edureka, et pålitelig online læringsfirma. Edurekas Java J2EE- og SOA-opplærings- og sertifiseringskurs er designet for å trene deg for både kjerne- og avanserte Java-konsepter sammen med forskjellige Java-rammer som Hibernate & Spring.

Har du spørsmål til oss? Vennligst nevn det i kommentarfeltet på denne bloggen, så kommer vi tilbake til deg så snart som mulig.