| Dies ist bereits der zweite Versuch, das US-Standardwerk “C++ Primer” ins Deutsche zu übertragen, ein anderer Verlag hatte sich daran mit wenig Erfolg vor einigen Jahren schon mal versucht. Diesmal ist die Übersetzung sehr gut gelungen, die nicht immer einfache Gratwanderung zwischen den original Ausdrücken im Englischen und den deutschen Begriffen hat der Übersetzer sehr gut gemeistert. In dem fast 1200 Seiten dicken Werk bleibt kaum eine Frage offen, in einem Anhang wurden sogar noch 70 Seiten mit Beschreibungen zu den Algorithmen der STL spendiert. Tatsächlich ein stattliches Werk, das auch noch neue Gewichtsrekorde bricht - nix zum Lesen im Zug oder Flugzeug.
Aus dem Inhalt:
Teil I - C++ im Überblick: Gleich zu Beginn werden die Grundlagen gelegt, der Autor vermittelt aber sehr schnell Einblick in die Grundideen hinter Arrays, dynamischer Speicherverwaltung. Auch die ersten Klassen werden sofort eingeführt, die Klasse als normaler Bestandteil von Programmen vorgeführt. Noch bevor dieser Einführungsteil zu Ende ist, macht der Leser Bekanntschaft mit der generischen Programmierung in Form von Templates und verwendet die erste Klasse aus der STL.
Teil II - Sprachgrundlagen: Ein naturgemäß etwas trockeneres Kapitel ist die Vorstellung der Möglichkeiten hinsichtlich von Typen, Ausdrücken, Operatoren, Anweisungen und deren Abhängigkeiten. Auch hier wieder volle Integration von Templates und den STL-Klassen bei der Vorstellung, ein Einstieg in die Container der STL schließt den Teil ab.
Teil III - Prozedural-basierte Programmierung: Befasst sich mit den Grundlagen der Programmierung, Schwerpunkte auf Funktionen, lokalen Variablen und deren Lebensdauer, Bringt aber auch das Prinzip der Funktionsüberladung und der Funktionstemplates ins Spiel. Dazu passend werden Exceptions und die ersten Algorithmen der STL vorgestellt.
Teil IV - Objektbasierte Programmierung: Stellt den Begriff der Klasse und der Objekte vor, mit den verschiedenen Membern, Initialisierung und Zerstörung, Operatorüberladung und Klassen-Templates
Teil V - Objektorientierte Programmierung: Der fehlende Rest - Vererbung und virtuelle Methoden, und die sich daraus ergebenden Möglichkeiten mit Gültigkeitsbereichen, Basisklassen und abstrakten Klassen, sowie RTTI als Beispiel für die Identifikation von Klassen zur Laufzeit.
Gut gemacht vom Autor ist vor allem der schnelle Einstieg, bereits zu Beginn werden Klassen, Templates und STL als normale Gebrauchsgegenstände verwendet. Viele andere Bücher behandeln dies als Thema für Fortgeschrittene und bringen das irgendwo am Ende, machen für den Einsteiger ein Taboo aus diesen Themen. Hier wird gezeigt: es gibt diese Sachen, also nehmt sie gefälligst auch!
Alle Programmbeispiele wurden übrigens mit dem Borland C++ Builder 5 und dem neuen Microsoft Visual C++ .NET getestet - dadurch wurde ein häufiges Problem gerade mit dem Microsoft Compiler vermeiden, das komplexere Beispiele zum Beispiel aus dem Bereich der Templates gar nicht übersetzbar waren.
|