Vorwort zur 9. Auflage
Vorwort
Historisches
Für wen ist dieses Buch geschrieben?
Ziel des Buchs
Aufbau
Wo finden Sie was?
Zu guter Letzt
zurück
Mittlerweile ist der C++-Standard, der 1998 verabschiedet wurde und zu dem es 2003 einige Korrekturen gab, in die Jahre gekommen. Die Anforderungen an C++ sind gewachsen, auch zeigte sich, dass manches im Standard fehlte und anderes überflüssig oder fehlerhaft war. Das C++-Standardkomitee hat kontinuierlich an der Entwicklung des nächsten C++-Standards gearbeitet. Der Arbeitsname ist C++09, weil es die feste Absicht des Standardkomitees ist, den neuen C++-Standard spätestens 2009 zu verabschieden. Abgesehen von einigen wenigen Spracherweiterungen und -änderungen wurde im April 2006 beschlossen, den TR1 (Technical Report 1 [TR1]) mit der Ausnahme spezieller mathematischer Funktionen in den Standard aufzunehmen. Der TR1 besteht aus teilweise erheblichen Erweiterungen der C++-Standardbibliothek, die von manchen Compilern zum Teil schon realisiert werden. Allerdings ist der Gesamtumfang der Änderungen recht groß: Der Entwurf des neuen C++-Standards umfasst mehr als 1000 Seiten. Dies stellte den Anlass dar, das vorliegende Buch zu überarbeiten. Um den Charakter als einführendes Lehrbuch nicht zu verändern, musste eine sinnvolle Auswahl getroffen werden. Abschnitt A.4 auf Seite 676 zeigt die berücksichtigten Änderungen. Im laufenden Text wird auf sie mit einer Randmarkierung hingewiesen.
Fast jeder, der sich professionell oder studierend mit dem Thema Programmieren befasst, hat mittlerweile Zugriff auf einen schnellen Internet-Zugang, sei es am Arbeitsplatz, zu Hause oder in der Universität bzw. Hochschule. Die Aktualität einer CD-ROM lässt einige Zeit nach Erscheinen zu wünschen übrig. Daher haben sich Verlag und Autor entschlossen, auf die den vorhergehenden Auflagen noch beigelegte CD-ROM zu verzichten, und bitten um Verständnis für diese Maßnahme. Selbstverständlich ist das gesamte entsprechende Material im Internet auf der zum Buch gehörenden Web-Site verfügbar. Um Anfängern den Einstieg in die Arbeit mit einer Entwicklungsumgebung zu erleichtern, wurden neue Abschnitte aufgenommen, die Schritt für Schritt durch die Konstruktion des ersten Programms mit Hilfe einer Open-Source-Entwicklungsumgebung führen (Abschnitte 2.1.2 bis 2.1.4). Ich wünsche Ihnen viel Freude mit diesem Buch und viel Erfolg bei der Arbeit mit C++!
Bremen, im Februar 2007
Ulrich Breymann

C++ wurde etwa ab 1980 von Bjarne Stroustrup als objektorientierte Sprache entwickelt. 1998 wurde C++ von der ISO (International Standards Organisation) standardisiert. C++ steht für eine evolutionäre Entwicklung der Programmiersprache C. ++ ist der Inkrement-Operator in C, der den Wert einer Variablen um 1 erhöht. C++ enthält den größten Teil von C als Untermenge. top

Dieses Buch ist für alle geschrieben, die einen kompakten und gleichzeitig gründlichen Einstieg in die Konzepte und Programmierung mit C++ suchen. Es ist für Anfänger (Geschlechtsbezogene Formen meinen hier und im Folgenden stets Männer und Frauen.) gedacht, die noch keine Programmiererfahrung haben, aber auch für Programmierer, die diese Programmiersprache kennen lernen möchten. top

Das Buch soll eine Einführung in die C++-Programmiersprache und die Benutzung der C++-Standardbibliothek bieten. Das Ziel des Buchs ist es, C++ so darzustellen, dass möglichst bald ein Verständnis des objektorientierten Ansatzes entwickelt wird und rasch programmiert werden kann. Gleichzeitig soll die Darstellung möglichst kompakt sein, ohne dass die Lesbarkeit leidet. C++ wird als Programmiersprache unabhängig von speziellen Produkten beschrieben. C-Kenntnisse werden nicht vorausgesetzt. Das Buch eignet sich auch als Begleitbuch zu einer Vorlesung oder zu Kursen. Fortgeschrittenen und professionellen Programmierern dient das Buch als Nachschlagewerk bei der täglichen Arbeit, was durch die Referenz zur C++-Standardbibliothek (Teil 2 des Buchs), ein detailliertes Inhaltsverzeichnis und ein umfangreiches Stichwortverzeichnis unterstützt wird. top

Objekte in C++ werden als Bauelemente zur Konstruktion von Software verstanden. Die Objekte selbst bestehen aber auch aus Bauelementen, nämlich aus Daten und den Operationen, die mit diesen Daten arbeiten. Daher werden erst diese Eemente behandelt, um danach Objekte als Bauelemente auf höherem Niveau konstruieren zu können. Aus didaktischen Gründen werden grundlegende Standardbausteine, nämlich die abstrakten Typen vector und string der C++-Standardbibliothek, früh eingeführt. Diese Elemente erlauben sinnvolle Beispiele einiger Komplexität, ohne dass Kenntnisse über ihre Implementierung vorliegen müssen. Wichtige, aber sehr niedrigsprachliche C-Konstruktionen wie Zeiger und C-Arrays können daher zugunsten von programmiersprachlichen Konzepten und der Objektorientierung nach hinten geschoben werden. Die Wirkungsweise vieler Klassen der C++-Standardbibliothek wird an vereinfachten Beispielen demonstriert. Daraus ergibt sich der Aufbau des Buchs: Nach einer Einführung, die die Objektorientierung kurz streift, werden Datenstrukturen und Funktionen beschrieben, um dann gezielt auf die Objektorientierung einzugehen. Anschließend werden die besprochenen Themen erweitert und vertieft. Auch fortgeschrittene Konzepte von C++ werden aufgegriffen und an Beispielen demonstriert. Es wird versucht, den Stoff einschließlich der Beispiele hierarchisch möglichst so anzuordnen, dass Verweise auf noch nicht behandelte Teile nur selten nötig sind. Dadurch etwas "unelegant" geratene Beispiele werden später wieder aufgegriffen, um zu zeigen, wie man es besser machen kann. top

Programmieren lernt man nicht nur durch Lesen, sondern vor allem durch Programmieren, also durch eigenes Tun! Es wird Ihnen daher ans Herz gelegt, die Beispiele zu bearbeiten und zu verstehen sowie selbst Beispiele zu programmieren. Dabei wird häufig das Problem auftauchen, etwas nachschlagen zu müssen. Es gibt die folgenden Hilfen:
Erklärungen zu Begriffen aus der objektorientierten Programmierung sind zusätzlich im Glossar aufgeführt.
Es gibt ein recht umfangreiches Stichwortverzeichnis und ein sehr detailliertes Inhaltsverzeichnis.
Die Referenz zur C++-Standardbibliothek (Teil 2 des Buchs) ist zusätzlich als elektronischer Hypertext von der Internet-Seite zum Buch herunterladbar.
Weiteres Material, Hinweise und nützliche Links sind auf der Web-Site zu diesem Buch http://www.oop-mit-cpp.de/ zu finden. Der Name der Web-Adresse steht für "Objektorientierte Programmierung mit C++". top

Den Menschen, die diese und die vorhergehenden Auflagen des Buchs durch Hinweise und Anregungen verbessern halfen, sei an dieser Stelle herzlich gedankt. Insbesondere danke ich Prof. Dr. Ulrich Eisenecker von der Universität Leipzig, Herrn Johannes Knaupp von der Berufsakademie Stuttgart, Prof. Dr. Bodo Bartning von der FHO Emden, sowie Herrn Dr. Ansgar Steinkamp von der Universität Dortmund für sachkundige Kritik und Anregungen. Frau Margarete Metzger und Frau Irene Weilhart vom Hanser Verlag danke ich für die sehr gute Zusammenarbeit. top
Ulrich Breymann