class ·
Konstruktor ·
Destruktor ·
Zugriffsmodifikatoren ·
Memberfunktionen ·
this
Objektorientierte Programmierung (OOP) in C++ ermöglicht die Modellierung von realen Objekten durch Klassen. Diese Konzepte sind essenziell für die Entwicklung komplexer, wartbarer Anwendungen.
Klassen sind die zentrale Einheit der objektorientierten Programmierung in C++. Sie definieren Daten (Membervariablen) und Funktionen (Memberfunktionen), die das Verhalten von Objekten beschreiben.
| Konzept | class | struct |
|---|---|---|
| Standard-Zugriff | private | public |
| Verwendung | Komplexe Objekte mit Kapselung | Einfache Datencontainer |
| Vererbung | private standardmäßig | public standardmäßig |
struct für einfache Datencontainer ohne Methoden (wie in C). Verwenden Sie class für komplexe Objekte mit Kapselung und Methoden.
Konstruktoren werden automatisch aufgerufen, wenn ein Objekt erstellt wird. Sie initialisieren Membervariablen und führen notwendige Setups durch.
| Typ | Beschreibung | Beispiel |
|---|---|---|
| Standardkonstruktor | Keine Parameter | Person() {} |
| Parametrisierter Konstruktor | Mit Parametern | Person(string n, int a) |
| Kopierkonstruktor | Objekt kopieren | Person(const Person& p) |
| Move-Konstruktor | Ressourcen verschieben | Person(Person&& p) |
| Delegierender Konstruktor | Ruft anderen Konstruktor auf | Person() : Person("", 0) {} |
:) für Membervariablen – sie ist effizienter als Zuweisungen im Konstruktor-Körper.
Zugriffsmodifikatoren steuern die Sichtbarkeit von Membern einer Klasse. Sie sind die Grundlage der Kapselung in C++.
| Modifikator | Zugriff von | Beschreibung |
|---|---|---|
| public | Überall | Member sind von überall zugänglich (Schnittstelle) |
| private | Nur innerhalb der Klasse | Member sind nur von der Klasse selbst zugänglich (Kapselung) |
| protected | Innerhalb der Klasse und abgeleiteten Klassen | Member sind für Vererbung zugänglich |
Memberfunktionen (Methoden) definieren das Verhalten eines Objekts. Sie können innerhalb oder außerhalb der Klasse definiert werden und haben Zugriff auf alle Member.
const. Das ermöglicht die Verwendung auf const-Objekten und verbessert die Typsicherheit.
this ist ein versteckter Zeiger, der in jeder Memberfunktion auf das aktuelle Objekt zeigt. Er wird verwendet, um Membervariablen zu referenzieren oder das Objekt selbst zurückzugeben.
this-> wenn eine Membervariable und ein Parameter den gleichen Namen haben. Für Method Chaining geben Sie *this zurück.
Destruktoren werden automatisch aufgerufen, wenn ein Objekt zerstört wird. Sie geben Ressourcen frei (Speicher, Dateien, Verbindungen) und sind essenziell für das RAII-Prinzip.
class
ClassName()
private
void methode()
this
~Class()
class Person { public: Person(string n) : name(n) {} private: string name; }; ·
~Person() { /* cleanup */ }