|
Liebe Leserin, lieber Leser, |
3 |
|
|
Auf einen Blick |
4 |
|
|
Inhalt |
6 |
|
|
Vorwort |
24 |
|
|
ANSI C++ |
28 |
|
|
1 Grundlagen von ANSI C++ |
30 |
|
|
1.1 Die Win32-Konsolenanwendung |
30 |
|
|
1.2 Die Hauptfunktion |
35 |
|
|
1.3 Die Ausgabe |
37 |
|
|
1.4 Die include-Direktive |
41 |
|
|
1.5 using |
41 |
|
|
1.6 Kommentare |
42 |
|
|
1.7 Variablen |
44 |
|
|
1.8 Datentypen |
50 |
|
|
1.9 Operatoren |
55 |
|
|
1.10 Die cmath-Funktionen |
72 |
|
|
2 Kontrollstrukturen |
78 |
|
|
2.1 Verzweigungen |
78 |
|
|
2.2 Schleifen |
92 |
|
|
2.3 Funktionen |
101 |
|
|
2.4 Module |
112 |
|
|
3 Komplexere Datentypen |
118 |
|
|
3.1 Arrays |
118 |
|
|
3.2 C-Strings |
121 |
|
|
3.3 Strukturen |
131 |
|
|
3.4 Zeiger |
134 |
|
|
3.5 Referenzen |
142 |
|
|
4 Klassen |
144 |
|
|
4.1 Definition einer Klasse |
144 |
|
|
4.2 Attribute |
148 |
|
|
4.3 Zugriffsrechte |
149 |
|
|
4.4 Methoden |
150 |
|
|
4.5 Konstruktoren |
154 |
|
|
4.6 Konstanzwahrende Methoden |
161 |
|
|
4.7 Überladen von Methoden |
162 |
|
|
4.8 Statische Klassenelemente |
164 |
|
|
4.9 typedef |
168 |
|
|
4.10 Verschachtelte Klassen |
170 |
|
|
4.11 Vererbung |
172 |
|
|
4.12 Konstruktoren und Vererbung |
174 |
|
|
4.13 Erweitern durch Vererbung |
177 |
|
|
4.14 Methoden überschreiben |
178 |
|
|
4.15 Geschützte Attribute |
179 |
|
|
4.16 Polymorphie |
181 |
|
|
4.17 Virtuelle Methoden |
183 |
|
|
4.18 UML |
184 |
|
|
4.19 Schnittstellen |
186 |
|
|
4.20 Downcasts |
193 |
|
|
5 Fortgeschrittene Sprachelemente |
194 |
|
|
5.1 Namensbereiche |
194 |
|
|
5.2 Dynamische Speicherverwaltung |
198 |
|
|
5.3 Ausnahmen |
203 |
|
|
5.4 Templates |
211 |
|
|
5.5 Operatoren überladen |
215 |
|
|
6 Die STL |
228 |
|
|
6.1 Die Philosophie der STL |
228 |
|
|
6.2 Grundlagen |
235 |
|
|
6.3 Vektoren |
245 |
|
|
6.4 Deque |
257 |
|
|
6.5 Listen |
261 |
|
|
6.6 Sets |
273 |
|
|
6.7 Maps |
284 |
|
|
6.8 Strings |
289 |
|
|
6.9 Adapter |
311 |
|
|
6.10 Iteratoren |
321 |
|
|
6.11 Reverse-Iteratoren |
327 |
|
|
6.12 Algorithmen |
335 |
|
|
7 Praxis – Adressbuch |
376 |
|
|
7.1 Die eigene Liste |
376 |
|
|
7.2 Die Klasse »Kontakt« |
395 |
|
|
7.3 Die Klasse »Kontaktliste« |
399 |
|
|
7.4 Die Hauptfunktion |
405 |
|
|
C++/CLI |
408 |
|
|
8 Grundlagen von C++/CLI |
410 |
|
|
8.1 C++/CLI |
410 |
|
|
8.2 .NET |
411 |
|
|
8.3 CLR-Konsolenanwendung |
419 |
|
|
8.4 Das Beispielprogramm |
420 |
|
|
8.5 Trackinghandle |
422 |
|
|
8.6 Trackingreferenz |
423 |
|
|
8.7 Ausgabe |
424 |
|
|
8.8 Arrays |
426 |
|
|
8.9 Eingabe |
428 |
|
|
8.10 Typumwandlung |
428 |
|
|
8.11 Ausnahmen |
429 |
|
|
8.12 STL/CLR |
432 |
|
|
9 Klassendefinition unter .NET |
434 |
|
|
9.1 Eine verwaltete Klasse erstellen |
434 |
|
|
9.2 Die Ausgabe |
437 |
|
|
9.3 Eigenschaften |
438 |
|
|
9.4 Indexer |
443 |
|
|
9.5 Ressourcenfreigabe |
446 |
|
|
9.6 Wertklassen |
451 |
|
|
9.7 Operatoren überladen |
453 |
|
|
9.8 Literale |
458 |
|
|
9.9 Aufzählungen |
459 |
|
|
9.10 Vererbung |
464 |
|
|
9.11 Abstrakte Methoden und Klassen |
468 |
|
|
9.12 Versiegelte Methoden |
470 |
|
|
9.13 Versiegelte Klassen |
470 |
|
|
9.14 Schnittstellen |
472 |
|
|
9.15 Delegaten |
476 |
|
|
9.16 Ereignisse |
480 |
|
|
10 Nützliche .NET-Klassen |
486 |
|
|
10.1 CultureInfo |
486 |
|
|
10.2 String |
490 |
|
|
10.3 StringBuilder |
497 |
|
|
10.4 Char |
499 |
|
|
10.5 Collections |
500 |
|
|
10.6 IComparer |
501 |
|
|
10.7 IComparable |
501 |
|
|
10.8 Collection-Schnittstellen |
502 |
|
|
10.9 IEnumerable |
503 |
|
|
10.10 ICollection |
504 |
|
|
10.11 IList |
508 |
|
|
10.12 IDictionary |
512 |
|
|
10.13 Generische Collections |
516 |
|
|
10.14 Anwendungsbeispiele |
519 |
|
|
10.15 Random – Zufallszahlen |
523 |
|
|
10.16 Math – mathematische Funktionen |
524 |
|
|
10.17 Console – die Konsole |
529 |
|
|
10.18 Environment – die Umgebung |
535 |
|
|
10.19 GC – der Garbage-Collector |
538 |
|
|
10.20 Timer – der Taktgeber |
540 |
|
|
11 Dateiverwaltung |
542 |
|
|
11.1 DateTime |
542 |
|
|
11.2 Laufwerke |
546 |
|
|
11.3 Verzeichnisse |
547 |
|
|
11.4 Dateien |
552 |
|
|
11.5 Dateiströme |
555 |
|
|
11.6 Binärströme |
558 |
|
|
11.7 Zeichenströme |
561 |
|
|
11.8 Serialisierung |
563 |
|
|
11.9 Praktische Anwendung |
565 |
|
|
12 Praxis – objektorientiertes Telefonbuch |
568 |
|
|
12.1 Die Schnittstelle IKontakt |
568 |
|
|
12.2 Die Klasse »Kontakt« |
569 |
|
|
12.3 Die Klasse »KontaktTxt« |
572 |
|
|
12.4 Die Schnittstelle »ITelefonbuch« |
573 |
|
|
12.5 Die Klasse »Telefonbuch« |
574 |
|
|
12.6 Die Klasse »TelefonbuchTxt« |
578 |
|
|
12.7 Das Hauptprogramm |
581 |
|
|
12.8 Datei-IO |
583 |
|
|
.NET-Klassenbibliothek |
590 |
|
|
13 Einführung in Windows Forms |
592 |
|
|
13.1 Das Hauptprogramm |
593 |
|
|
13.2 Die Form-Datei |
595 |
|
|
13.3 Das Eigenschaftenfenster des Designers |
597 |
|
|
13.4 Component |
598 |
|
|
13.5 Control – Basis aller Steuerlemente |
599 |
|
|
13.6 ScrollableControl – scrollbare Container |
623 |
|
|
13.7 Form – die Formularklasse |
628 |
|
|
13.8 Ereignisse im Designer |
638 |
|
|
14 Nützliche Windows-Forms-Klassen |
640 |
|
|
14.1 Assembly-Verweise hinzufügen |
640 |
|
|
14.2 Size – die Größenangabe |
643 |
|
|
14.3 Point – die Positionsangabe |
644 |
|
|
14.4 Rectangle – ein rechteckiger Bereich |
645 |
|
|
14.5 Color – Farbangaben |
649 |
|
|
14.6 Font – die Schriftart |
654 |
|
|
14.7 MessageBox – ein Nachrichtenfenster |
655 |
|
|
14.8 Image – die Grundlage der Bilder |
658 |
|
|
14.9 Bitmap – die Klasse für konkrete Bilder |
659 |
|
|
14.10 Icon – die kleinen Bilder |
660 |
|
|
14.11 ImageList – die Bilderliste |
662 |
|
|
14.12 Cursor – die Mauszeiger |
663 |
|
|
14.13 Padding – Abstände und Ränder |
665 |
|
|
14.14 Standarddialoge |
666 |
|
|
14.15 Type – Kern der Reflection-API |
676 |
|
|
15 Steuerelemente I |
678 |
|
|
15.1 Label – Beschriftungen |
678 |
|
|
15.2 GroupBox – Gruppierungen |
681 |
|
|
15.3 ButtonBase – die Basis der Buttons |
682 |
|
|
15.4 Button – Schaltflächen |
683 |
|
|
15.5 CheckBox – Elemente zum Abhaken |
684 |
|
|
15.6 RadioButton – Optionen zur Auswahl |
687 |
|
|
15.7 PictureBox – ein Bilderrahmen |
688 |
|
|
15.8 TextBoxBase – die Basis der Texteingabefelder |
692 |
|
|
15.9 TextBox – ein einfaches Texteingabefeld |
697 |
|
|
15.10 MaskedTextBox – Eingabe nach Vorschrift |
701 |
|
|
15.11 RichTextBox – die kleine Textverarbeitung |
707 |
|
|
15.12 ListControl – die Basis aller Listenelemente |
708 |
|
|
15.13 ListBox – eine einfache Auflistung |
709 |
|
|
15.14 ProgressBar – der Fortschrittsbalken |
714 |
|
|
16 Steuerelemente II |
716 |
|
|
16.1 Panel – die Basis komplexerer Gruppierungen |
716 |
|
|
16.2 FlowLayoutPanel – Gruppierung wie Fließtext |
717 |
|
|
16.3 TableLayoutPanel – Gruppierung zu Tabellenform |
718 |
|
|
16.4 SplitContainer – eine größenveränderbare Aufteilung |
720 |
|
|
16.5 TabControl – Gruppierung über Registerkarten |
723 |
|
|
16.6 ListView – zweidimensionale Listen |
727 |
|
|
16.7 TreeView – die Baumdarstellung |
742 |
|
|
17 Menüs & Leisten |
752 |
|
|
17.1 ToolStrip – die Symbolleiste |
752 |
|
|
17.2 MenuStrip – die Menüleiste |
754 |
|
|
17.3 StatusStrip – die Statusleiste |
755 |
|
|
17.4 ContextMenuStrip – das Kontextmenü |
756 |
|
|
17.5 Die ToolStrip-Elemente |
756 |
|
|
17.6 ToolStripContainer – die Spielwiese für Leisten |
764 |
|
|
18 GDI+ |
766 |
|
|
18.1 Brush – die Pinsel |
767 |
|
|
18.2 Pen – der Stift |
771 |
|
|
18.3 Graphics – das Zeichenbrett |
772 |
|
|
18.4 StringFormat – das Aussehen der Strings |
779 |
|
|
18.5 Zeichnen über »Paint« |
782 |
|
|
19 Drucken |
786 |
|
|
19.1 PrintDocument – die Kernklasse zum Drucken |
786 |
|
|
19.2 PrinterSettings – Wer druckt? |
789 |
|
|
19.3 PrintDialog – die Druckerauswahl |
796 |
|
|
19.4 PageSettings – die Seiteneigenschaften |
798 |
|
|
19.5 PageSetupDialog – die Seite einrichten |
800 |
|
|
19.6 PrintPreviewDialog – die Druckvorschau |
802 |
|
|
19.7 PrintPreviewControl – das Steuerelement |
803 |
|
|
19.8 Drucken in der Praxis |
804 |
|
|
20 Datenbankanbindung |
810 |
|
|
20.1 Das Zusammenspiel der Klassen |
811 |
|
|
20.2 OleDbConnection – die Datenbankverbindung |
812 |
|
|
20.3 OleDbCommand – der SQL-Befehl |
820 |
|
|
20.4 OleDbParameter – die Befehlsparameter |
827 |
|
|
20.5 OleDbDataReader – der Datensatzleser |
831 |
|
|
20.6 OleDbTransaction – die Transaktion |
834 |
|
|
20.7 DataTable – die Tabelle im Speicher |
839 |
|
|
20.8 DataSet – die Tabellensammlung |
852 |
|
|
20.9 DataGridView – die sichtbare Tabelle |
855 |
|
|
20.10 OleDbDataAdapter – automatisierte Kommunikation |
875 |
|
|
Anhang |
882 |
|
|
A Arbeiten mit der Entwicklungsumgebung |
884 |
|
|
A.1 Der Debugger |
884 |
|
|
A.2 Variablen überwachen |
891 |
|
|
A.3 Die Klassenansicht |
892 |
|
|
A.4 Der Klassendesigner |
896 |
|
|
Index |
900 |
|