Objektorientiertes C++
Klassen, Objekte, Vererbung, Polymorphie und die Säulen der OOP in C++.
Klassen & Objekte
Klassen, Structs & Kapselung
Verstehe den Unterschied zwischen struct und class, Zugriffsspezifizierer, Kapselung, const-Memberfunktionen, statische Member und moderne Aggregat-Initialisierung.
Konstruktoren, Destruktoren & Regel von 0/3/5
Beherrsche den vollständigen Lebenszyklus von C++-Objekten — von der Konstruktion bis zur Zerstörung — und lerne, wann du spezielle Memberfunktionen schreiben solltest und wann besser nicht.
Kopiersemantik: tief vs. flach
Lerne den Unterschied zwischen flachen und tiefen Kopien kennen, wie du korrekte Kopieroperationen für ressourcenbesitzende Klassen implementierst und was das Copy-and-Swap-Idiom leistet.
Vererbung & Polymorphie
Vererbung & Ist-ein-Beziehungen
Lerne öffentliche Vererbung, Konstruktorketten, das Slicing-Problem, Mehrfachvererbung und das Diamantproblem kennen — und wann Vererbung überhaupt angebracht ist.
Virtuelle Funktionen, vtables & Polymorphie
Tauche ein in Laufzeitpolymorphie: wie virtueller Dispatch unter der Haube funktioniert, wann du override und final einsetzt, was abstrakte Klassen sind und wofür RTTI gut ist.
Operatorüberladung
Lerne, wie du Operatoren korrekt überlädst — Member vs. Nicht-Member, kanonische Formen, Stream-Operatoren, den Raumschiff-Operator aus C++20 und die häufigsten Fallstricke.
OOP-Design
Statische Member, Singletons & PIMPL
Erkunde statische Member, das Meyers-Singleton-Muster, das Factory-Muster und das PIMPL-Idiom für ABI-Stabilität und Entkopplung zur Kompilierzeit.
Komposition, Schnittstellen & Design
Beherrsche Komposition statt Vererbung, rein abstrakte Schnittstellen, Designprinzipien (ISP, DIP), std::variant als Alternative zur Vererbung und Type Erasure.