C++ Klassen & Objekte
C++ erweitert C um objektorientierte Programmierung. C++ unterstützt objektorientierte Programmierung. Klassen sind ein Kernmerkmal von C++ und werden oft als benutzerdefinierte Typen bezeichnet.
Klassen werden verwendet, um die Form von Objekten festzulegen. Sie sind benutzerdefinierte Datentypen, die eine Kombination aus Daten und Funktionen kapseln. Die Daten in einer Klasse werden als Membervariablen bezeichnet, und die Funktionen werden als Memberfunktionen bezeichnet. Eine Klasse kann als Vorlage betrachtet werden, mit der mehrere Objekte mit denselben Eigenschaften und Verhaltensweisen erstellt werden können.
C++-Klassendefinition
Um eine Klasse zu definieren, müssen Sie das Schlüsselwortclassverwenden. Geben Sie dann den Namen der Klasse an, und der Klassenkörper wird in ein Paar geschweifte Klammern eingeschlossen. Der Körper enthält die Membervariablen und Memberfunktionen der Klasse.
Eine Klasse zu definieren bedeutet im Wesentlichen, einen Bauplan für einen Datentyp zu definieren. Er legt fest, was Objekte der Klasse enthalten und welche Operationen auf diesem Objekt ausgeführt werden können.

Im folgenden Beispiel verwenden wir das Schlüsselwortclass, um den Datentyp Box zu definieren, der drei Membervariablen enthält: length, breadth und height:
SchlüsselwörterpublicEs bestimmt die Zugriffsattribute von Klassenmembern. Im Bereich eines Klassenobjekts sind public-Member von außerhalb der Klasse zugänglich. Sie können Klassenmember auch als...privateoderprotected angeben, was wir später erklären werden.
C++-Objekte definieren
Klassen bieten den Bauplan für Objekte, im Grunde werden Objekte also auf Basis von Klassen erstellt. Das Deklarieren eines Objekts einer Klasse ist wie das Deklarieren einer Variablen eines Basistyps. Die folgenden Anweisungen deklarieren zwei Objekte der Klasse Box:
Die Objekte Box1 und Box2 haben jeweils eigene Datenmember.
Auf Datenmember zugreifen
Auf die öffentlichen Datenmember eines Klassenobjekts kann mit dem direkten Memberzugriffsoperator zugegriffen werden..zuzugreifen.

Um diese Konzepte besser zu verstehen, probieren wir das folgende Beispiel aus:
Beispiel
Wenn der obige Code kompiliert und ausgeführt wird, liefert er die folgenden Ergebnisse:
Box1 的体积:210 Box2 的体积:1560 Box3 的体积:1536
Es sollte beachtet werden, dass auf private und protected Mitglieder nicht direkt mit dem direkten Mitgliedszugriffsoperator (.) zugegriffen werden kann. Wie man auf private und protected Mitglieder zugreift, werden wir in späteren Tutorials lernen.
Klassen- & Objektdetails
Bisher haben wir ein grundlegendes Verständnis von C++-Klassen und -Objekten gewonnen. Die folgende Liste enthält auch einige andere Konzepte im Zusammenhang mit C++-Klassen und -Objekten, und Sie können auf die entsprechenden Links klicken, um mehr zu erfahren.
| Konzepte | Beschreibung |
|---|---|
| Memberfunktionen einer Klasse | Memberfunktionen einer Klasse sind solche, deren Definitionen und Prototypen innerhalb der Klassendefinition geschrieben werden, genau wie andere Variablen in der Klassendefinition. |
| Zugriffsmodifikatoren für Klassen | Klassenmitglieder können als public, private oder protected definiert werden. Standardmäßig werden sie als private definiert. |
| Konstruktoren & Destruktoren | Ein Klassenkonstruktor ist eine spezielle Funktion, die aufgerufen wird, wenn ein neues Objekt erstellt wird. Ein Klassendestruktor ist ebenfalls eine spezielle Funktion, die aufgerufen wird, wenn das erstellte Objekt gelöscht wird. |
| C++-Kopierkonstruktor | Ein Kopierkonstruktor ist ein spezieller Konstruktor, der beim Erstellen eines Objekts ein zuvor erstelltes Objekt derselben Klasse verwendet, um das neu erstellte Objekt zu initialisieren. |
| C++ Friend-Funktionen | Friend-FunktionenKönnen auf die privaten und geschützten Mitglieder einer Klasse zugreifen. |
| C++ Inline-Funktionen | Bei Inline-Funktionen versucht der Compiler, den Code im Funktionsrumpf an der Stelle zu expandieren, an der die Funktion aufgerufen wird. |
| Der this-Zeiger in C++ | Jedes Objekt hat einen speziellen Zeigerthis, der auf das Objekt selbst zeigt. |
| Zeiger auf eine Klasse in C++ | Zeiger auf Klassen werden auf dieselbe Weise verwendet wie Zeiger auf Strukturen. Tatsächlich kann eine Klasse als eine Struktur mit Funktionen betrachtet werden. |
| C++ Statische Member einer Klasse | Sowohl Datenelemente als auch Funktionsmember einer Klasse können als statisch deklariert werden. |