HOWTO · C++

Statische Variablen in der C++-Klasse initialisieren

Die Initialisierung statischer Variablen in einer C++-Klasse ist der Prozess der Zuweisung von Werten zu den statischen Variablen.

Wir werden in diesem kurzen Artikel lernen, wie man statische Variablen in C++ initialisiert.

Statische Variablen in C++ initialisieren

Die Initialisierung statischer Variablen in einer C++-Klasse ist der Prozess der Zuweisung von Werten zu den statischen Variablen.

Alle Klassenobjekte haben Zugriff auf ein statisches Mitglied. Wenn keine andere Initialisierung vorhanden ist, werden alle statischen Daten auf Null initialisiert, wenn das erste Objekt erstellt wird.

Obwohl wir es nicht in die Klassendefinition aufnehmen können, können wir es außerhalb der Klasse initialisieren, indem wir die statische Variable neu deklarieren und ihre Klassenzugehörigkeit mit dem Operator scope resolution bestimmen. Normalerweise kann die Initialisierung auf zwei Arten erfolgen.

  • Implizit, indem sie als Konstanten definiert werden.
  • Explizit durch Verwendung des Schlüsselworts “static” und Zuweisung von Werten.

Wir sollten die implizite Initialisierung nur verwenden, wenn wir sicher sind, dass alle statischen Variablen vorher initialisiert wurden. Andernfalls sollten wir die explizite Initialisierung mit dem Schlüsselwort static verwenden.

Codebeispiel:

#include <iostream>
using namespace std;
class Sam {
 public:
  static int demo;
  Sam(int x = 1, int y = 2, int z = 3) {
    X = x;
    Y = y;
    Z = z;
  }

 private:
  double X;
  double Y;
  double Z;
};
int Sam::demo = 7;
int main(void) {
  Sam sam1(6, 7, 8);
  cout << "Demo: " << Sam::demo << endl;
  return 0;
}

Ausgang:

Demo: 7

Democode ausführen

Unterschied zwischen konstanten und statischen Variablen

In C++ ist eine Variable ein Name für einen Speicherort im Arbeitsspeicher des Computers, der verschiedene Datentypen wie Zahlen und Text speichern kann. Diese Namen werden Identifikatoren genannt.

Die in der Variablen gespeicherten Daten können sich im Laufe der Zeit ändern. Dieser Variablentyp wird dynamisch oder dynamisch typisiert genannt.

Der andere Variablentyp heißt constant oder constant-typed. Die in dieser Art von Variablen gespeicherten Daten ändern sich im Laufe der Zeit nie, und Konstanten werden normalerweise verwendet, um die Eigenschaften und Parameter eines Objekts am Anfang eines Programms oder einer Funktion zu definieren.

Konstanten werden mit dem Schlüsselwort const deklariert und können nur zum Zeitpunkt der Deklaration oder innerhalb einer Funktion initialisiert werden. Das Schlüsselwort static erstellt die Variable nur einmal, und alle Funktionen innerhalb derselben Datei können auf die Variable zugreifen.