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. Überblick Über Die Kapselung
4. Überblick Über Vererbung
5. Überblick Über Polymorphismus

book
Statische Mitglieder der Klasse

Im objektorientierten Programmieren besitzt das Schlüsselwort static eine besondere Bedeutung und verändert das Verhalten von Attributen und Methoden. Es gibt Situationen, in denen bestimmte Daten von allen Objekten einer Klasse gemeinsam genutzt werden sollen, anstatt für jede Instanz repliziert zu werden. Hier kommen statische Datenmember zum Einsatz.

Die Syntax der statischen Member

Das Erstellen eines statischen Members einer Klasse ist unkompliziert. Sie müssen lediglich der Deklaration das Schlüsselwort static voranstellen.

Example.h

Example.h

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

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

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

FirstExample.h

FirstExample.h

SecondExample.h

SecondExample.h

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 statischer Member

Der Einsatz von statischen Datenmitgliedern und statischen Memberfunktionen bietet mehrere Vorteile.

main.cpp

main.cpp

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 }
question mark

Welche der folgenden Aussagen über statische Membervariablen ist richtig?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 6

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

course content

Kursinhalt

C++ OOP

C++ OOP

1. Grundlagen der OOP in C++
2. Konstruktoren und Destruktoren
3. Überblick Über Die Kapselung
4. Überblick Über Vererbung
5. Überblick Über Polymorphismus

book
Statische Mitglieder der Klasse

Im objektorientierten Programmieren besitzt das Schlüsselwort static eine besondere Bedeutung und verändert das Verhalten von Attributen und Methoden. Es gibt Situationen, in denen bestimmte Daten von allen Objekten einer Klasse gemeinsam genutzt werden sollen, anstatt für jede Instanz repliziert zu werden. Hier kommen statische Datenmember zum Einsatz.

Die Syntax der statischen Member

Das Erstellen eines statischen Members einer Klasse ist unkompliziert. Sie müssen lediglich der Deklaration das Schlüsselwort static voranstellen.

Example.h

Example.h

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

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

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

FirstExample.h

FirstExample.h

SecondExample.h

SecondExample.h

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 statischer Member

Der Einsatz von statischen Datenmitgliedern und statischen Memberfunktionen bietet mehrere Vorteile.

main.cpp

main.cpp

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 }
question mark

Welche der folgenden Aussagen über statische Membervariablen ist richtig?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 6
some-alt