next up previous

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
}


next up previous