Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Statische Mitglieder der Klasse | Grundlagen der OOP in C++
C++ OOP
course content

Kursinhalt

C++ OOP

C++ OOP

1. Grundlagen der OOP in C++
2. Konstruktoren und Destruktoren
3. Kapselungsübersicht
4. Überblick Über die Vererbung
5. Überblick Über Polymorphismus

book
Statische Mitglieder der Klasse

In der objektorientierten Programmierung hat das Schlüsselwort static eine besondere Bedeutung, da es das Verhalten von Attributen und Methoden verändert. Es gibt manchmal Szenarien, in denen bestimmte Daten unter allen Objekten einer Klasse geteilt werden müssen, anstatt für jede Instanz repliziert zu werden. Hier kommen statische Datenmitglieder ins Spiel.

Die Syntax der statischen Mitglieder

Das Erstellen eines statischen Mitglieds einer Klasse ist unkompliziert. Sie müssen einfach die Deklaration mit dem Schlüsselwort static versehen.

h

Example

copy
12345
class Example { public: static int static_attibute; static void static_method() { std::cout << "Static method!" << std::endl; } };

Im obigen Beispiel sind static_attibute und static_method() als statische Datenmitglieder der Klasse Example deklariert. Im Gegensatz zu regulären Datenmitgliedern sind statische Datenmitglieder mit der Klasse selbst verbunden und nicht mit einzelnen Objekten. Das bedeutet, dass alle Instanzen von Example dieselben statischen Mitglieder teilen.

Hinweis

Um auf ein statisches Datenmitglied zuzugreifen, verwenden wir den Gültigkeitsbereichsauflösungsoperator (::). Aber vorher müssen wir es initialisieren.

Die Initialisierung ist entscheidend für statische Datenmitglieder und muss außerhalb der Klasse erfolgen, es sei denn, das Mitglied verwendet auch das const Schlüsselwort.

h

FirstExample

h

SecondExample

copy
1234567
class Example { public: static int static_attribute; static void static_method() { std::cout << "Static method!" << std::endl; } }; int Example::static_attribute = 0;

Vorteile der Verwendung von statischen Mitgliedern

Die Verwendung von statischen Datenmitgliedern und statischen Mitgliedsfunktionen bietet mehrere Vorteile:

  • Ressourcenteilung: Statische Datenmitglieder erleichtern die gemeinsame Nutzung von Daten unter allen Instanzen einer Klasse, reduzieren den Speicherverbrauch und fördern eine effiziente Ressourcennutzung.

  • Utility-Funktionen: Statische Mitgliedsfunktionen können verwendet werden, um Utility-Funktionen zu implementieren oder Operationen durchzuführen, die nicht vom Zustand eines Objekts abhängen.

  • Klassenweite Operationen: Statische Mitgliedsfunktionen bieten eine Möglichkeit, klassenweite Operationen durchzuführen oder Daten auf Klassenebene zu manipulieren ohne die Notwendigkeit einer Objektinstanziierung.

cpp

main

copy
12345678910111213141516171819202122
#include <iostream> class Example { public: static int static_attribute; static void static_method() { std::cout << "Static method!" << std::endl; } }; // Initialization of the static member variable int Example::static_attribute = 0; int main() { Example obj1, obj2; obj1.static_attribute = 100; // Modifying static_attribute through obj1 std::cout << obj1.static_attribute << std::endl; std::cout << obj2.static_attribute << std::endl; Example::static_attribute = 25; // Modifying static_attribute through class Example::static_method(); // Calling the static method through class }

Hinweis

Versuchen Sie, mit einer Example class und ihren statischen Mitgliedern zu experimentieren

Welche der folgenden Aussagen über statische Mitgliedsvariablen ist wahr?

Welche der folgenden Aussagen über statische Mitgliedsvariablen ist wahr?

Wählen Sie einige richtige Antworten aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 6
We're sorry to hear that something went wrong. What happened?
some-alt