C++ für C-Programmierer, 1998
Informatik & Praxis Series

Author:

Language: English

49.25 €

Subject to availability at the publisher.

Add to cartAdd to cart
339 p. · 17x24.4 cm · Paperback
Immer komplexere Probleme zwingen geradezu zu objektorientiertem Denken. Daß mit den objektorientierten Programmiersprachen genau die Hilfsmittel bereitgestellt werden, mit denen die reale Welt adäquat abgebildet werden kann, ist sicherlich die Basis für den Trend, neue Software-Projekte fast ausschließlich damit zu realisieren. Die noch recht junge Programmiersprache C++ nimmt dabei zweifellos eine Sonderstellung ein, weil die sehr weit verbreitete Programmiersprache C in ihr komplett enthalten ist. Das erleichtert vielen Programmierern den Umstieg erheblich, und an diese Umsteiger wendet sich dieses Buch. Die vielfach zu hörende Skepsis, daß Umsteiger (wegen der Gefahr, "rückfällig zu werden") besondere Schwierigkeiten haben, die objektorientierte Denkweise konsequent zu verfolgen, wird von mir nicht geteilt, im Gegenteil: Gerade der (und nun nenne ich ihn) Aufsteiger zur objektorientierten Programmierung wird die Vorteile ganz besonders deutlich erkennen. Nicht unterschätzt werden darf die Möglichkeit, bewährte Algorithmen der Programmier­ sprache C, die ohne Änderung auch von C++ -Compilern übersetzt werden können, mit einer Verpackung zu versehen, die eine "objektorientierte Weiterverwendung" gestatten (die ab Kapitel 7 verwendeten "Microsoft foundation classes" sind geradezu ein klassisches Beispiel dafür). Dies legt einen "Aufstieg zu C++" ebenso nahe wie der nicht zu übersehende Trend, daß die Hersteller modernen Entwicklungsumgebungen für die Programmentwicklung konsequent die objektorientierten Sprachen unterstützen. Diese Aussage gilt in besonderem Maße für die Windows-Programmierung.
1 Programmiersprachen C und C++.- 1.1 Objektorientierte Programmierung.- 1.2 Hilfsmittel für die C++-Programmierung.- 1.3 Das erste C++-Programm, natürlich: “Hello, World”.- 1.4 C++-Erweiterungen, die nicht direkt “objektorientiert” sind.- 2 Klassen und Objekte.- 2.1 Daten und Member-Funktionen in der Klasse.- 2.2 Konstruktoren, Destruktoren, Default-Argumente.- 2.3 Objektorientiertes Programmieren erfordert objektorientiertes Denken.- 2.4 Eine String-Klasse.- 2.5 ClString-Objekte “wachsen”.- 2.6 Kritik an der Klasse ClString.- 3 Überladen.- 3.1 Überladen von Funktionen.- 3.2 Erweitern der Klasse ClString.- 3.3 Konstruktoren sind immer überladen.- 3.4 Überladen von Operatoren.- 4 Komposition und Vererbung.- 4.1 Zusammengesetzte ebene Flächen, Problemdiskussion.- 4.2 Komposition.- 4.3 Öffentliche Vererbung.- 4.4 Statische Daten-Elemente, statische Member-Funktionen.- 4.5 Vererbung und Konvertierung.- 5 Polymorphismus.- 5.1 Virtuelle Member-Funktionen, späte Bindung.- 5.2 Entwurf einer Klassen-Hierarchie.- 5.3 Polymorphismus, Schlüssel zur objektorientierten Programmierung.- 5.4 Der Sinn eines virtuellen Destruktors.- 5.5 Kritik an der Klassen-Hierarchie.- 6 Ergänzende und spezielle Themen.- 6.1 Das Schlüsselwort const.- 6.2 Templates.- 6.3 Ausnahmebehandlung.- 6.4 Mehrfach-Vererbung.- 6.5 Private Vererbung.- 6.6 Arbeiten mit Dateien.- 6.7 RTTI, Typ-Ermittlung zur Laufzeit.- 6.8 Namensbereiche.- 6.9 Objektorientierte Programmierung, eine kurze Zusammenfassung.- 7 Windows-Programmierung mit MFC.- 7.1 Besonderheiten der Windows-Programmierung.- 7.2 Windows-C++-Programmierung mit “Microsoft foundation classes”.- 7.3 Das minimale Programmgerüst eines MFC-Programms.- 7.4 Bearbeiten von Botschaften, Beispiel: WM_PAINT.- 7.5 Koordinatensysteme.- 7.6Ressourcen.- 7.7 Zusammenfassung, Ausblick.- 8 Arbeiten mit dem MFC-Anwendungsgerüst.- 8.1 Ein letztes Mal in diesem Buch: “Hello, World!”.- 8.2 Die “Document-View”-Architektur.- 8.3 Das Projekt Fmom.- 8.4 Die Klassen-Hierarchie des Projekts Fmom.- 8.5 Eingabe der Daten.- 8.6 Bearbeiten der Ansichtsklasse, Ausgabe erster Ergebnisse.- 8.7 Verbesserung der Eingabe.- 8.8 Das Dokument als Binär-Datei, “Serialization”.- 8.9 Eine zweite Ansicht für das Dokument, “Splitter-Windows”.- 8.10 Graphische Darstellung der Flächen.- 8.11 Listen, Ändern, Löschen.- 8.12 Zusammenfassung, Ausblick.- Literatur.