C++ - Klassen: Vertiefung
Klassenvariablen und Klassenmethoden
Instanzvariablen ( Datenelemente) | Klassenvariablen |
jedes Objekt besitzt eigene Instanzvariablen und belegt diese mit individuellen Werten | jedes Objekt teilt mit allen Objekten seiner Klasse Klassenvariablen, die folglich für jedes Objekt identische Werte besitzen (Klassenvariablen gibt es für jede konkrete Klasse genau einmal) |
sind nur über Objekte zugreifbar | sind zugreifbar, ohne daß ein Objekt dieser Klasse existieren muß |
werden durch Definition von Variablen bzw. Konstruktion von Objekten der Klasse erzeugt und initialisiert | müssen außerhalb der Klassendefinition definiert und initialisiert werden |
Beispiel:
class A { static int a; // Deklaration: private Klassenvariable public: static int b; // Deklaration: oeffentliche Klassenvariable void meth(); }; void A::meth() { a = ... ; } int A::a = 1; // Definition int A::b; void f() { A object; object.b = 2; // Zugriff ueber Objekt A::b = 3; // Zugriff ueber die Klasse }