Què és la funció de membre estàtic a C ++?



Aquest article us proporcionarà un coneixement detallat i complet de la funció de membre estàtic en C ++ amb exemples.

Static és una paraula clau en C i C ++ que s’utilitza per declarar un tipus especial d’una variable o una funció dins o fora d’una classe. En aquest post, comprendreem breument el concepte de variables de membre estàtic i funcions de membre estàtic en c ++ i les compararem amb variables i funcions normals en l’ordre següent:

Variables de membres estàtics

Les variables classificades com a estàtiques també formen part de C. suposem que en una funció hi ha 2 variables, una és una variable normal i l’altra és una variable estàtica. La variable normal es crea quan es crida la funció i el seu abast és limitat. Mentre que la variable estàtica es crea una vegada i es destrueix al final del programa. Aquestes variables tenen una vida útil al llarg del programa.





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

Sortida:

static-member-variables-1



A partir de la sortida anterior, podem concloure que cada vegada que es deia la funció Test () es creava una còpia de la variable ‘y’ mentre s’utilitzava la mateixa còpia de la variable ‘x’ cada vegada que es deia la funció Test ().

Ara, analitzem les característiques de les variables estàtiques

  1. Les variables estàtiques s’inicialitzen a 0. Només s’inicialitza una vegada.



  2. Al llarg del programa, només es crea una còpia de la variable membre estàtica per a tota la classe, de manera que les variables membre estàtiques també s'anomenen variables de classe. Ho comparteixen tots els casos de la classe.

  3. La variable membre estàtica només és visible dins de la classe, però la seva vida útil és fins que finalitza el programa.

    quina diferència hi ha entre hashtable i hashmap

Considerem un exemple de variables de membre estàtiques en una classe.

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

Sortida:

A la sortida anterior, podem veure que la variable ‘x’ es comparteix entre tots els objectes. Per entendre el concepte de les variables de dades estàtiques en detall podem pensar en una biblioteca on hi ha diversos llibres col·locats a diferents prestatges. Considereu la biblioteca com una classe, la posició d’un determinat llibre ‘x’ com a variable membre estàtica i els estudiants com a objectes de la classe. Quan el primer alumneva arribar, col·loca la 'x' en una nova posició ara, quan arriba un altre estudiant, la 'x' no tornarà a la seva posició original, però romandrà allà on el primer estudiant la va deixar.

Funcions de membre estàtic en C ++

Igual que les variables de membre estàtic, tenim funcions de membre estàtic que s’utilitzen per a un propòsit específic. Per crear una funció de membre estàtic, hem d’utilitzar la paraula clau estàtica mentre es declara la funció. Com que les variables de membre estàtiques són propietats de classe i no propietats d'objecte, per accedir-hi hem d'utilitzar el nom de la classe en lloc del nom de l'objecte.

Propietats de les funcions de membre estàtic:

  1. Una funció estàtica només pot accedir a altres variables estàtiques o funcions presents a la mateixa classe

    suma de dígits en java
  2. Les funcions de membre estàtiques s’anomenen mitjançant el nom de la classe. Sintaxinom_classe :: nom_funció ()

Considerem un exemple clàssic per entendre el concepte de funcions de membre estàtic en detall. En aquest exemple, entendrem tots els conceptes relacionats amb les funcions de membre estàtiques.

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

A la sortida anterior, podem veure que el valor de la variable 'n' és diferent tant per als objectes 'exemple1' com per 'exemple2' de la classe 'Exemple'. Com que la variable 'Nombre' és una variable de classe, el seu valor és el mateix tant per als objectes 'exemple1' com per 'exemple2'. Les variables i funcions de membres estàtics s’utilitzen quan s’han de compartir valors comuns entre tots els objectes. Mentre es programa, l’ús de paraules clau estàtiques s’ha de fer amb prudència.

Amb això, arribem al final d’aquest article sobre la funció de membre estàtic en c ++. Si voleu obtenir més informació, consulteu el per Edureka, una empresa d’aprenentatge en línia de confiança. El curs de formació i certificació de Java J2EE i SOA d’Edureka està dissenyat per formar-vos tant per a conceptes Java bàsics com avançats, juntament amb diversos marcs Java com Hibernate & Spring.

Tens alguna pregunta? Si us plau, mencioneu-ho a la secció de comentaris d’aquest bloc i us respondrem el més aviat possible.