C++-Programmierung/ Im Zusammenhang mit Klassen/ Statische Membervariablen
Aus Wikibooks
Statische Inhalte einer Klasse sind im gleichen Ausführungsobjekt
- in allen Instanzen dieser Klasse gleich.
- auch verfügbar wenn keine Instanz der Klasse existiert.
Dies gilt auch für statische Mitgliedsvariablen.
Eine statische Variable wird mit dem Speicherklassenschlüsselwort static deklariert. Variablen der Speicherklasse static sind nur in dem Objektcode gültig in dem sie definiert sind. Um dieses Verhalten bei einer Mitgliedsvariable in einer Klasse zu erreichen, muss neben der Deklaration in der Klasse eine Definition dieser Variable im Ausführungsobjekt der Klasse, außerhalb der Deklaration, erfolgen. Bei konstanten, statischen Mitgliedsvariablen genügt die Deklaration, Definition und Initialisierung innerhalb der Klassendeklaration.
Die Klasse mitStatischemInhalt hat nun eine statische Mitgliedsvariable 'x', die in allen Instanzen der Klasse und auch ohne Instantiierung über mitStatischemInhalt::x erreichbar ist, und sich auf die eine Definition int mitStatischemInhalt::x; bezieht.