English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Definire membri statici in C++

È possibile definire i membri statici della classe in C ++ utilizzando la parola chiave static. Viene memorizzata solo una copia dei membri statici della classe indipendentemente dal numero di oggetti della classe. Pertanto, i membri statici vengono condivisi da tutti gli oggetti della classe.

Se non viene inizializzato in alcun altro modo il primo oggetto della classe, il membro statico della classe viene inizializzato a zero quando viene creato il primo oggetto della classe.

Ecco un programma che dimostra la definizione di un membro statico della classe:

Esempio

#include <iostream>
using namespace std;
class Point{
   int x;
   int y;
   public:
   static int count;
   Point(int x1, int y1){
      x = x1;
      y = y1;
      count++;
   };
   void display(){
      cout << "Il punto è (" << x << "," << y << ")\n";
   };
};
int Point::count = 0;
int main(void){
   Point p1(10,5);
   Point p2(7,9);
   Point p3(1,2);
   p1.display();
   p2.display();
   p3.display();
   cout << "\nIl numero di oggetti è: " << Point::count;
   return 0;
};

Ecco l'output del programma sopra

Il punto è (10,5)
Il punto è (7,9)
Il punto è (1,2)
Il numero di oggetti è: 3

Ora scopriamo il programma sopra

La classe Point ha 2 membri dati che compongono un punto, x e y. C'è anche un membro statico contatore, utilizzato per monitorare il numero di oggetti creati dalla classe Point. CostruttorePoint()Inizializza i valori di x e y, poi la funzionedisplay();Visualizza i loro valori. Ecco il segmento di codice per visualizzare questo:

class Point{
   int x;
   int y;
   public:
   static int count;
   Point(int x1, int y1){
      x = x1;
      y = y1;
      count++;
   };
   void display(){
      cout << "Il punto è (" << x << "," << y << ")\n";
   };
};

All'interno di questa funzionemain();Hanno creato 3 oggetti della classe Point. Poi chiamano la funzione per visualizzare i valori di questi oggettidisplay();Poi visualizza il contatore. Ecco il segmento di codice per visualizzare questo:

Point p1(10,5);
Point p2(7,9);
Point p3(1,2);
p1.display();
p2.display();
p3.display();
cout << "\nIl numero di oggetti è: " << Point::count;