Es ist nicht einfach, bei dem enormen Umfang von sprachlichen Konstrukten, Erweiterungen und Neuerungen von C++ den Überblick zu behalten. Das von mir zusammengestellte Inhaltsverzeichnis unternimmt den Versuch, die sprachlichen Konstrukte für einen Einstieg nach gewissen systematischen und methodischen Gesichtspunkten so zu gliedern und zusammenzufassen, dass bei deren Betrachtung der „rote Faden” nicht verloren geht.
- Umgang mit der Entwicklungsumgebung
- Ein „Hello World” erstellen und ablaufen lassen
- Dateiorganisation (Header-Dateien, Implementierungs-Dateien)
- Begriffe Klasse und Objekt
- Nomenklator
- Punkt-Operator für den Zugriff
- Was bedeutet „prozedurale” Programmierung
- Was bedeutet „objektorientierte” Programmierung
- Vorteile der objektorientierten Programmierung
- Zugriffsklassen (
private,public) - setter-/getter-Methoden
- Der
this-Operator
- Was sind Konstruktoren?
- Überladen von Konstruktoren
- Element-Initialisierungsliste (Member Initializer List)
- Konvertierungskonstruktoren
- Statische Datenelemente
- Statische Elementfunktionen
- Was ist eine Referenz?
- Der Adressoperator
&bei Referenzen - Referenzen können nicht erneut zugewiesen werden
- Null-Zeiger und Null-Referenzen
- Zeiger und Referenzen im Vergleich
- Parameter mit Referenzen übergeben
- Parameterübergabemechanismen: Call-by-Value, Call-by-Address und Call-by-Reference
- Vergleich der Aufrufmethoden
- Stelligkeit und Priorität
- Assoziativität
- Realisierung: Innerhalb und außerhalb der Klasse
- Ein Überblick über Streams
- Pufferung
- Streams und Puffer
- Standard-E/A-Objekte
- Eingabe mit
std::cin - Ausgabe mit
std::cout
- Hintergrund für das Konzept der „Namensräume”
- Schlüsselwörter
usingundnamespace
- Einbinden der Klasse
std::stringaus der C++–Standardbibliothek - Die Klasse
std::stringexemplarisch betrachtet
- Was sind Exceptions?
- Komponenten in der Behandlung von Ausnahmen
- Schlüsselwörter
tryundcatch
- Globale Variablen
- Lokale Variablen
- Statische Variablen
- Dynamische Variablen
- Lebensdauer von Variablen in einem C++–Programm
- Stack und Heap (Stapel und Halde)
- Operatoren
newunddelete
- Objekte mit dynamischen Daten
- Ein Destruktor zum automatisierten Freigeben von allokiertem Speicher
- Objekte kopieren und zuweisen
- Flat Copy versus Deep Copy
- Überladen von Kopierkonstruktor und Wertzuweisungsoperator
- Die „Rule of Three”
- Entwicklung einer Hierarchie von Klassen
- Konstruktoren von abgeleiteten Klassen und Basisklassen
- Verwendung von
public,protectedundprivate
- Überschreiben von Methoden
- Schlüsselwörter
virtual,overrideundfinal - Polymorphismus
- Schnittstellenkonzept (Interface)
- Kontrakt mit mehreren Schnittstellen
- Abstrakte Basisklasse
- Unterschied Schnittstelle versus abstrakte Basisklasse
- Was sind Templates?
- Ein universeller Taschenrechner
- Container
- Iteratoren
- Algorithmen
- Aufrufbare Objekte
