Geleitwort | 7 |
Vorwort zur 2. Auflage | 8 |
Vorwort zur 1. Auflage | 9 |
Inhalt | 11 |
1 Die Entwicklungsumgebung | 22 |
1.1 Visuelle Programmierung: Ein erstes kleines Programm | 22 |
1.2 Erste Schritte in C++ | 26 |
1.3 Der Quelltexteditor | 28 |
1.4 Kontextmenüs und Symbolleisten (Toolbars) | 32 |
1.5 Projekte, Projektdateien und Projektoptionen | 34 |
1.6 Einige Tipps zur Arbeit mit Projekten | 37 |
1.7 Die Online-Hilfe | 41 |
1.8 Projektgruppen und die Projektverwaltung | 43 |
1.9 Hilfsmittel zur Gestaltung von Formularen | 45 |
1.10 Packages und eigenständig ausführbare Programme | 46 |
1.11 Win32-API und Konsolen-Anwendungen | 48 |
1.12 Windows-Programme und Units | 50 |
2 Komponenten für die Benutzeroberfläche | 52 |
2.1 Die Online-Hilfe zu den Komponenten | 52 |
2.2 Namen | 56 |
2.3 Labels, Datentypen und Compiler-Fehlermeldungen | 59 |
2.4 Funktionen, Methoden und die Komponente TEdit | 64 |
2.5 Memos, ListBoxen, ComboBoxen und die Klasse TStrings | 68 |
2.6 Buttons und Ereignisse | 74 |
2.7 CheckBoxen, RadioButtons und einfache if-Anweisungen | 79 |
2.8 Die Container GroupBox, Panel und PageControl | 81 |
2.9 Hauptmenüs und Kontextmenüs | 84 |
2.10 Standarddialoge | 88 |
3 Elementare Datentypen und Anweisungen | 93 |
3.1 Syntaxregeln | 93 |
3.2 Variablen und Bezeichner | 96 |
3.3 Ganzzahldatentypen | 100 |
3.4 Kontrollstrukturen und Funktionen | 128 |
3.5 Tests und der integrierte Debugger | 147 |
3.6 Gleitkommadatentypen | 162 |
3.7 Ablaufprotokolle und Programmierlogik | 185 |
3.8 Konstanten | 229 |
3.9 Syntaxregeln für Deklarationen und Initialisierungen | 232 |
3.10 Arrays und Container | 234 |
3.11 Strukturen und Klassen | 258 |
3.12 Zeiger, Strings und dynamisch erzeugte Variablen | 272 |
3.13 Die Stringklasse AnsiString | 340 |
3.14 Deklarationen mit typedef und typeid-Ausdrücke | 353 |
3.15 Aufzählungstypen | 356 |
3.16 Kommentare und interne Programmdokumentation | 360 |
3.17 Globale, lokale und dynamische Variablen | 364 |
3.18 Referenztypen, Werte- und Referenzparameter | 372 |
3.19 Weitere Anweisungen | 378 |
3.20 Ausdrücke | 396 |
3.21 Namensbereiche | 425 |
3.22 Präprozessoranweisungen | 436 |
3.23 Separate Kompilation und statische Bibliotheken | 451 |
3.24 Dynamic Link Libraries (DLLs) | 463 |
4 Einige Klassen der Standardbibliothek | 476 |
4.1 Die Stringklassen string und wstring | 477 |
4.2 Sequenzielle Container der Standardbibliothek | 488 |
4.3 Dateibearbeitung mit den Stream-Klassen | 512 |
4.4 Assoziative Container | 551 |
4.5 Die numerischen Klassen der Standardbibliothek | 558 |
4.6 C++0x-Erweiterungen der Standardbibliothek | 564 |
5 Funktionen | 575 |
5.1 Die Verwaltung von Funktionsaufrufen über den Stack | 576 |
5.2 Funktionszeiger und der Datentyp einer Funktion | 579 |
5.3 Rekursion | 587 |
5.4 Funktionen und Parameter | 614 |
5.5 Default-Argumente | 628 |
5.6 Inline-Funktionen | 629 |
5.7 Überladene Funktionen | 632 |
5.8 Überladene Operatoren mit globalen Operatorfunktionen | 641 |
6 Objektorientierte Programmierung | 652 |
6.1 Klassen | 653 |
6.2 Klassen als Datentypen | 699 |
6.3 Vererbung und Komposition | 748 |
6.4 Virtuelle Funktionen, späte Bindung und Polymorphie | 785 |
6.5 Laufzeit-Typinformationen | 829 |
7 Exception-Handling | 844 |
7.1 Die try-Anweisung | 845 |
7.2 Exception-Handler und Exceptions der Standardbibliothek | 848 |
7.3 Vordefinierte Exceptions der VCL | 853 |
7.4 Der Programmablauf bei Exceptions | 855 |
7.5 Das vordefinierte Exception-Handling der VCL | 858 |
7.6 throw-Ausdrücke und selbst definierte Exceptions | 859 |
7.7 Fehler, Exceptions und die Korrektheit von Programmen | 865 |
7.8 Die Freigabe von Ressourcen bei Exceptions | 868 |
7.9 Exceptions in Konstruktoren und Destruktoren | 871 |
7.10 Exception-Spezifikationen | 876 |
7.11 Die Funktion terminate | 878 |
7.12 Das Win32-Exception-Handling mit try-__except | 879 |
8 Die Bibliothek der visuellen Komponenten (VCL) | 880 |
8.1 Besonderheiten der VCL | 881 |
8.2 Visuelle Programmierung und Properties (Eigenschaften) | 885 |
8.3 Die Klassenhierarchie der VCL | 893 |
8.4 Selbst definierte Komponenten und ihre Ereignisse | 901 |
8.5 Die Erweiterung der Tool-Palette | 909 |
8.6 Klassenreferenztypen und virtuelle Konstruktoren | 915 |
8.7 Botschaften (Messages) | 920 |
9 Templates und die STL | 937 |
9.1 Generische Funktionen: Funktions-Templates | 938 |
9.2 Generische Klassen: Klassen-Templates | 956 |
9.3 Funktionsobjekte in der STL | 982 |
9.4 Iteratoren und die STL-Algorithmen | 997 |
9.5 Die Algorithmen der STL | 1008 |
10 Verschiedenes | 1032 |
10.1 Symbolleisten, Menüs und Aktionen | 1032 |
10.2 Eigene Dialoge, Frames und die Objektablage | 1040 |
10.3 Größenänderung von Steuerelementen zur Laufzeit | 1048 |
10.4 ListView und TreeView | 1052 |
10.5 Formatierte Texte mit der RichEdit-Komponente | 1062 |
10.6 Tabellen | 1064 |
10.7 Schieberegler: ScrollBar und TrackBar | 1066 |
10.8 Weitere Eingabekomponenten | 1068 |
10.9 Status- und Fortschrittsanzeigen | 1072 |
10.10 Klassen und Funktionen zu Uhrzeit und Kalenderdatum | 1073 |
10.11 Multitasking und Threads | 1079 |
10.12 TrayIcon | 1086 |
10.13 TCanvas und TImage: Grafiken anzeigen und zeichnen | 1087 |
10.14 Die Steuerung von MS-Office: Word-Dokumente erzeugen | 1102 |
10.15 Datenbank-Komponenten der VCL | 1105 |
10.16 Internet-Komponenten | 1121 |
10.17 MDI-Programme | 1124 |
10.18 Die Klasse Set | 1127 |
10.19 3D-Grafik mit OpenGL | 1130 |
10.20 Win32-Funktionen zur Dateibearbeitung | 1153 |
10.21 Datenübertragung über die serielle Schnittstelle | 1162 |
Literaturverzeichnis | 1170 |
Buch-CD | 1175 |
Index | 1176 |