Ce este funcția de membru static în C ++?



Acest articol vă va oferi o cunoaștere detaliată și cuprinzătoare a funcției de membru static în C ++ cu exemple.

Static este un cuvânt cheie în C și C ++ care este utilizat pentru a declara un tip special al unei variabile sau a unei funcții în interiorul sau în afara unei clase. În acest post, vom înțelege pe scurt conceptul de variabile statice de membru și funcții de membru static în c ++ și le vom compara cu variabilele și funcțiile normale în următoarea ordine:

Variabile de membru static

Variabilele clasificate ca statice fac, de asemenea, o parte din C. să presupunem că într-o funcție există 2 variabile, una este o variabilă normală, iar cealaltă este o variabilă statică. Variabila normală este creată atunci când funcția este apelată și scopul său este limitat. În timp ce variabila statică este creată o dată și distrusă la sfârșitul programului. Aceste variabile au o viață pe tot parcursul programului.





#include folosirea spațiului de nume std void Test () {static int x = 1 x = ++ x int y = 1 y = ++ y cout<<'x = '<

Ieșire:

static-member-variables-1



Din rezultatul de mai sus, putem concluziona că de fiecare dată când funcția Test () a fost numită o copie a variabilei „y” a fost creată în timp ce aceeași copie a variabilei „x” a fost utilizată de fiecare dată când a fost apelată funcția Test ()

Acum, să discutăm caracteristicile variabilelor statice

  1. Variabilele statice sunt inițializate la 0. Se inițializează o singură dată.



  2. De-a lungul programului, se creează o singură copie a variabilei de membru static pentru întreaga clasă, prin urmare, variabilele de membru static sunt numite și variabile de clasă. Este împărtășit de toate instanțele clasei.

  3. Variabila statică de membru este vizibilă numai în cadrul clasei, dar durata de viață a acesteia este până la sfârșitul programului.

    cum să construiești o aplicație salesforce

Să luăm în considerare un exemplu de variabile statice membre într-o clasă.

#include folosind spațiul de nume clasa std Exemplu {static int x public: void function1 () {x ++} void function2 () {cout<<'x = '<

Ieșire:

Din rezultatul de mai sus, putem vedea că variabila „x” este partajată între toate obiectele. Pentru a înțelege în detaliu conceptul variabilelor de date statice ne putem gândi la o bibliotecă în care există mai multe cărți plasate pe rafturi diferite. Luați în considerare biblioteca ca o clasă, poziția unei anumite cărți „x” ca o variabilă statică de membru și elevii ca obiecte ale clasei. Când primul eleva sosit, plasează „x” într-o nouă poziție acum, când un alt student ajunge „x”, nu va reveni la poziția sa inițială, dar va rămâne acolo unde l-a părăsit primul student.

Funcții statice ale membrilor în C ++

La fel ca variabilele de membru static, avem funcții de membru static care sunt utilizate pentru un anumit scop. Pentru a crea o funcție de membru static, trebuie să folosim cuvântul cheie static în timp ce declarăm funcția. Deoarece variabilele membre statice sunt proprietăți de clasă și nu proprietăți de obiect, pentru a le accesa trebuie să folosim numele clasei în loc de numele obiectului.

Proprietățile funcțiilor de membru static:

  1. O funcție statică poate accesa doar alte variabile statice sau funcții prezente în aceeași clasă

    fibonacci recursiv c ++
  2. Funcțiile de membru static sunt numite folosind numele clasei. Sintaxă-nume_clasă :: nume_funcție ()

Să luăm în considerare un exemplu clasic pentru a înțelege în detaliu conceptul funcțiilor de membru static. În acest exemplu, vom înțelege toate conceptele legate de funcțiile statice ale membrilor.

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

Din ieșirea de mai sus, putem vedea că valoarea variabilei „n” este diferită atât pentru obiectele „exemplu1”, cât și „exemplu2” din clasa „Exemplu”. Deoarece variabila „Număr” este o variabilă de clasă, valoarea sa este aceeași atât pentru obiectele „exemplu1”, cât și „exemplu2”. Variabilele și funcțiile membre statice sunt utilizate atunci când valorile comune trebuie partajate între toate obiectele. În timpul programării, utilizarea cuvintelor cheie statice trebuie făcută cu înțelepciune.

Cu aceasta, ajungem la sfârșitul acestui articol despre funcția de membru static în c ++. Dacă doriți să aflați mai multe, consultați de Edureka, o companie de învățare online de încredere. Cursul de formare și certificare Java J2EE și SOA al Edureka este conceput pentru a vă instrui atât pentru conceptele Java de bază, cât și pentru cele avansate Java, împreună cu diverse cadre Java, cum ar fi Hibernate & Spring.

Ai o întrebare pentru noi? Vă rugăm să o menționați în secțiunea de comentarii a acestui blog și vă vom răspunde cât mai curând posibil.