C++-Programmierung/ Im Zusammenhang mit Klassen/ Statische Methoden

Aus Wikibooks

Wechseln zu: Navigation, Suche


Statische Inhalte einer Klasse sind im gleichen Ausführungsobjekt

  • in allen Instanzen dieser Klasse gleich.
  • auch verfügbar wenn keine Instanz der Klasse existiert.

Eine statische Methode wird mit dem Speicherklassenschlüsselwort static deklariert.

Dies gilt auch für statische Mitgliedsmethoden.

Im aktuellen Abschnitt ist mit statische Methode immer eine statische Mitglieds-Methode einer Klasse gemeint.

Statische Methoden können auf statische Mitglieder der Klasse in der sie deklariert werden zugreifen. Nicht-statische Inhalte dürfen nicht von der Methode aus verwendet werden, da die Methode auch ohne eine Instanz gültig ist. Auch wenn ein Objekt verwendet wird und über das Objekt die statische Methode aufgerufen wird, wird der statische Programmcode verwendet.

Im Beispiel wird nun eine statische Methode deklariert und in einer Beispielfunktion dreimal verwendet. Beachten Sie, das die Zuweisungen von p1,p2,p3 immer die gleiche statische Funktion aufrufen.

Crystal Clear app terminal.png
class Q
{
public:
  static char * gibVierKiloByte(void);
};

void f( Q & rQ, Q * pQ )
{
  char *p1 = Q::gibVierKiloByte(); // Aufruf ohne Objekt
  char *p2 = rQ.gibVierKiloByte(); // Aufruf über referenziertes Objekt
  char *p3 = pQ->gibVierKiloByte(); // Aufruf über Zeiger auf Objekt
};
Persönliche Werkzeuge