Što je funkcija statičkog člana u C ++?



Ovaj članak pružit će vam detaljno i sveobuhvatno znanje o funkcijama statičkih članova u C ++ s primjerima.

Static je ključna riječ u C i C ++ koja se koristi za deklariranje posebne vrste varijable ili funkcije unutar ili izvan klase. U ovom ćemo postu ukratko razumjeti koncept statičkih varijabli člana i statičkih funkcija člana u jeziku c ++ i usporediti ih s normalnim varijablama i funkcijama sljedećim redoslijedom:

Statičke varijable člana

Varijable klasificirane kao statičke također su dio C. pretpostavimo da u funkciji postoje 2 varijable, jedna je normalna varijabla, a druga statična. Normalna varijabla stvara se kad se funkcija pozove i opseg joj je ograničen. Dok se statička varijabla stvara jednom i uništava na kraju programa. Ove varijable imaju životni vijek tijekom cijelog programa.





#include using namespace std void Test () {static int x = 1 x = ++ x int y = 1 y = ++ y cout<<'x = '<

Izlaz:

static-member-variables-1



Iz gornjeg rezultata možemo zaključiti da je svaki put kada je funkcija Test () nazvana stvorena kopija varijable ‘y’ dok je ista kopija varijable ‘x’ korištena svaki put kad je pozvana funkcija Test ().

Sada, razgovarajmo o karakteristikama statičkih varijabli

  1. Statičke varijable inicijaliziraju se na 0. Inicira se samo jednom.



  2. Kroz program se stvara samo jedna kopija statičke varijable člana za cijelu klasu, pa se stoga varijable statičkih članova nazivaju i varijablama klase. Dijele ga sve instance klase.

  3. Statička varijabla člana vidljiva je samo unutar klase, ali njezin je životni vijek do završetka programa.

Razmotrimo primjer statičkih varijabli člana u klasi.

#include using std klasa prostora imena Primjer {static int x public: void function1 () {x ++} void function2 () {cout<<'x = '<

Izlaz:

Iz gornjeg rezultata možemo vidjeti da se varijabla ‘x’ dijeli između svih objekata. Da bismo detaljno razumjeli koncept statičkih varijabli podataka, možemo smisliti knjižnicu u kojoj se nalazi nekoliko knjiga smještenih na različitim policama. Knjižnicu smatrajte razredom, položaj određene knjige 'x' statičnom varijablom člana, a učenike objektima klase. Kad je prvi studentstigao je smjestio 'x' na novo mjesto sada kada drugi student dođe 'x' se neće vratiti u prvobitni položaj, ali ostat će tamo gdje ga je napustio prvi student.

Statičke funkcije člana u C ++-u

Baš kao i statičke varijable člana, imamo i statičke funkcije člana koje se koriste u određenu svrhu. Da bismo stvorili funkciju statičkog člana, trebamo upotrijebiti ključnu riječ static tijekom deklariranja funkcije. Budući da su statičke varijable člana svojstva klase, a ne svojstva objekta, da bismo im pristupili, trebamo koristiti ime klase umjesto imena objekta.

Svojstva statičkih funkcija člana:

  1. Statička funkcija može pristupiti samo ostalim statičkim varijablama ili funkcijama prisutnim u istoj klasi

  2. Statičke funkcije člana pozivaju se pomoću naziva klase. Sintaksa-ime_klase :: ime_funkcije ()

Razmotrimo klasični primjer da bismo detaljno razumjeli koncept statičkih funkcija člana. U ovom ćemo primjeru razumjeti sve koncepte povezane sa statičkim funkcijama članova.

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

Iz gornjeg rezultata možemo vidjeti da je vrijednost varijable ‘n’ različita i za objekte ‘example1’ i ‘example2’ klase ‘Example’. Budući da je varijabla 'Broj' varijabla klase, vrijednost joj je ista za objekte 'primjer1' i 'primjer2'. Statičke varijable i funkcije člana koriste se kada se zajedničke vrijednosti trebaju dijeliti kroz sve objekte. Tijekom programiranja, korištenje statične ključne riječi treba biti pametno.

Ovime smo došli do kraja ovog članka o funkciji statičkog člana na c ++. Ako želite saznati više, pogledajte Edureka, pouzdane tvrtke za internetsko učenje. Edurekin tečaj za obuku i certificiranje Java J2EE i SOA osmišljen je kako bi vas osposobio za osnovne i napredne Java koncepte zajedno s raznim Java okvirima poput Hibernate & Spring.

razlika između oruđa i proširenja

Imate pitanje za nas? Molimo vas da ga spominjete u odjeljku za komentare ovog bloga i javit ćemo vam se što je prije moguće.