Mis on staatilise liikme funktsioon C ++ -s?

See artikkel pakub üksikasjalikke ja põhjalikke teadmisi staatilise liikme funktsiooni kohta C ++ versioonis koos näidetega.

Staatiline on C ja C ++ märksõna, mida kasutatakse muutuja või funktsiooni eritüübi deklareerimiseks klassis või väljaspool seda. Selles postituses mõistame lühidalt staatiliste liikme muutujate ja staatiliste liikmete funktsioonide kontseptsioone c ++ -s ning võrdleme neid tavaliste muutujate ja funktsioonidega järgmises järjekorras:



Staatilised liikme muutujad

Staatilisteks klassifitseeritud muutujad on samuti osa C. Oletame, et funktsioonis on 2 muutujat, üks on normaalne ja teine ​​staatiline muutuja. Normaalne muutuja luuakse funktsiooni kutsumisel ja selle ulatus on piiratud. Kuigi staatiline muutuja luuakse üks kord ja hävitatakse programmi lõpus. Nendel muutujatel on kogu programmi vältel eluiga.

#include kasutades nimeruumi st void Test () {staatiline int x = 1 x = ++ x int y = 1 y = ++ y cout<<'x = '<

Väljund:

static-member-variables-1



teisendada binaararv kümnendarvuks

Ülaltoodud väljundi põhjal võime järeldada, et iga kord, kui funktsiooni Test () nimetati muutuja ‘y’ koopia loomiseks, kasutati sama muutuja ‘x’ koopiat iga kord, kui kutsuti Test ().

Vaatame nüüd staatiliste muutujate omadusi

  1. Staatilised muutujad lähtestatakse väärtusele 0. See lähtestatakse ainult üks kord.



  2. Kogu programmis luuakse kogu klassi jaoks ainult üks staatilise liikme muutuja koopia, seega nimetatakse staatilisi liikme muutujaid ka klassi muutujateks. Seda jagavad kõik klassi eksemplarid.

  3. Staatiline liikme muutuja on nähtav ainult klassis, kuid selle eluiga on kuni programmi lõpuni.

Vaatleme klassi staatiliste liikmemuutujate näidet.

#include nimeruumi standardklassiga Näide {staatiline int x public: void function1 () {x ++} void function2 () {cout<<'x = '<

Väljund:

Ülaltoodud väljundist näeme, et muutuja ‘x’ on jagatud kõigi objektide vahel. Staatiliste andmemuutujate kontseptsiooni üksikasjalikuks mõistmiseks võime mõelda raamatukogule, kus on mitu raamatut erinevatele riiulitele. Vaadake raamatukogu klassina, kindla raamatu x positsiooni staatilise liikmemuutujana ja õpilasi klassi objektidena. Kui esimene õpilanesaabudes paigutab ta 'x' nüüd uude kohta, kui saabub teine ​​õpilane, 'x' ei naase oma algsele positsioonile, kuid see jääb sinna, kuhu esimene õpilane selle jättis.

Staatilised liikme funktsioonid C ​​++ keeles

Nii nagu staatiliste liikmete muutujatel, on meil ka staatiliste liikmete funktsioonid, mida kasutatakse kindlal eesmärgil. Staatilise liikme funktsiooni loomiseks peame funktsiooni deklareerimisel kasutama staatilist märksõna. Kuna staatilised liikmemuutujad on klassiomadused, mitte objektiomadused, peame nende juurde pääsemiseks kasutama objekti nime asemel klassi nime.

Staatilise liikme funktsioonide omadused:

  1. Staatiline funktsioon pääseb juurde ainult teistele staatilistele muutujatele või samas klassis olevatele funktsioonidele

    erinevus java ülekoormamise ja ületamise vahel
  2. Staatilisi liikme funktsioone kutsutakse klassi nime abil. Süntaks-klassi_nimi :: funktsiooni_nimi ()

Vaatleme klassikalist näidet, et mõista staatiliste liikmete funktsioonide mõistet üksikasjalikult. Selles näites mõistame kõiki staatilise liikme funktsioonidega seotud mõisteid.

#include nimeruumi standardklassiga Näide {static int Number int n public: void set_n () {n = ++ Number} void show_n () {cout<<'value of n = '<

Ülaltoodud väljundist näeme, et muutuja ‘n’ väärtus on klassi ‘Näide’ objektide ‘näide1’ ja ‘näide2’ puhul erinev. Kuna muutuja ‘Number’ on klassimuutuja, on selle väärtus nii objektide ‘example1’ kui ka ‘example2’ puhul sama. Staatilisi liikme muutujaid ja funktsioone kasutatakse siis, kui kõigi objektide jaoks tuleb jagada ühiseid väärtusi. Programmeerimise ajal tuleks staatilist märksõna kasutada mõistlikult.

Sellega jõuame c ++ staatilise liikme funktsiooni käsitleva artiklini. Kui soovite rohkem teada saada, vaadake järgmist autor Edureka, usaldusväärne veebipõhine õppefirma. Edureka Java J2EE ja SOA koolitus- ja sertifitseerimiskursus on mõeldud selleks, et õpetada teid nii Java põhiliste kui ka edasijõudnute kontseptsioonide jaoks koos erinevate Java-raamistikega nagu Hibernate & Spring.

Kas teil on meile küsimus? Palun mainige seda selle blogi kommentaaride jaotises ja võtame teiega ühendust niipea kui võimalik.