1 Einleitung.- 2 Ein einführendes Beispiel.- 2.1 Kommentare.- 3 Deklarationen/Definitionen.- 4 Typen, Konstanten, Operatoren, Ausdrücke.- 4.1 Typen.- 4.1.1 Elementare Typen und Typkonvertierung.- 4.1.1.1 Implizite Typkonvertierung.- 4.1.1.2 Explizite Typkonvertierung.- 4.1.2 Abgeleitete Typen.- 4.1.2.1 Referenz.- 4.1.2.2 Zeiger.- 4.1.2.3 Vektoren.- 4.1.2.4 Der spezielle Typ “void”.- 4.1.3 Typedef.- 4.2 Konstanten.- 4.2.1 Integer-Konstanten.- 4.2.2 Character-Konstanten.- 4.2.3 Reelle Konstanten.- 4.2.4 Strings.- 4.2.5 Const.- 4.2.6 Aufzählungen.- 4.3 Operatoren.- 4.3.1 Arithmetische Operatoren.- 4.3.2 Vergleichsoperatoren und boolesche Operatoren.- 4.3.3 Inkrement- und Dekrement-Operatoren.- 4.3.4 Bitweise logische Operatoren.- 4.3.5 Zuweisungsoperatoren.- 4.4 Ausdrücke.- 4.4.1 Bedingter Ausdruck.- 4.4.2 Kommaoperator.- 5 Anweisungen.- 5.1 Elementare Anweisungen, Blockstruktur, Gültigkeitsbereich von Variablen.- 5.2 Kontrollanweisungen.- 5.2.1 if-else.- 5.2.2 switch.- 5.2.3 while und for.- 5.2.4 do-while.- 5.2.5 break.- 5.2.6 continue.- 5.2.7 gotos und labels.- 6 Funktionen.- 6.1 Definition einer Funktion.- 6.2 Parameterübergabe.- 6.2.1 Strong Type Checking.- 6.2.2 call by value.- 6.2.3 call by reference.- 6.2.4 Vektoren als Parameter.- 6.3 Ergebnisrückgabe.- 6.3.1 Der Freispeicher.- 6.4 Weitere Parameterübergabemöglichkeiten.- 6.4.1 Default Argumente.- 6.4.2 Funktionen als Parameter.- 6.4.3 Ellipsen.- 6.5 Overloading von Funktionen.- 6.6 Inline-Funktionen.- 6.7 Die Funktion main und Hinweise zur Programmstruktur.- 6.7.1 Programmstruktur.- 7 Structures.- 8 Klassen.- 8.1 Motivation für das Klassenkonzept.- 8.2 Definition von Klassen und Member-Funktionen.- 8.2.1 Zeiger auf Klassenmember.- 8.2.2 Statische Klassenmember.- 8.2.3 Der this-Zeiger.- 8.2.4 Member-Funktionen.- 8.3 Gültigkeitsbereiche bei Verwendung von Klassen.- 8.4 Initialisierung von Klassen.- 8.4.1 Konstruktoren.- 8.4.2 Weitere Möglichkeiten zur Initialisierung.- 8.5 Löschen von Klassenobjekten.- 8.5.1 Destruktoren.- 8.6 Friends.- 8.7 Klassen als Member von Klassen.- 8.7.1 Konstruktoren/Destruktoren für Member-Klassen.- 8.8 Vektoren von Klassen.- 8.9 Structures und Unions.- 8.10 Bitfelder.- 9 Abgeleitete Klassen.- 9.1 Manipulation von Klassenobjekten.- 9.2 Klassenhierarchien.- 9.3 Zugriff auf vererbte Member.- 9.4 Konstruktoren/Destruktoren für abgeleitete Klassen.- 9.4.1 X(const X&) bei abgeleiteten Klassen.- 9.5 Virtuelle Funktionen.- 9.6 Virtuelle Destruktoren.- 9.7 Virtuelle Basisklassen.- 10 Operator Overloading.- 10.1 Möglichkeiten und Einschränkungen.- 10.1.1 Operator [ ].- 10.1.2 Operator ( ).- 10.1.3 Operator =.- 10.1.4 Operator ->.- 10.1.5 Operatoren new und delete.- 10.2 Selbstdefinierte Typkonvertierung.- 11 Ein-/Ausgabe.- 11.1 Unformatierte Ein-/Ausgabe.- 11.2 Formatierte Ausgabe.- 11.3 Dateioperationen.- 12 Anhang.- 12.1 Tabelle der Operatoren.- 12.2 Tabelle der reservierten Worte.- 12.3 Tabelle der besonderen Character.- 12.4 Tabelle der Anweisungen.- 12.5 Tabelle der Ausdrücke.- 12.6 Hinweise zur Benutzung von UNIX-Rechnern.- 12.7 Hinweise zum Compiler.- 12.7.1 Aufruf des C++-Compilers.- 12.7.2 Compiler-Anweisungen.- 12.8 Unterschiede zur C++-Version 1.2.- 12.8.1 Änderungen der Semantik von Version 1.2.- 12.8.2 Nicht unterstützte Konzepte in Version 1.2.- 12.9 Zukünftige Neuerungen von C++.- 13 Aufgaben.- 14 Musterlösungen.- 15 Literatur.- 16 Register.