http://www.pronix.de -> Bücher -> Bücher aus meiner Feder -> C++ von A bis Z

C++ von A bis Z



C++ von A bis Z

ca. 1247 S., geb.,
mit CD
39,90 Euro
2., aktualisierte Auflage
ISBN 978-3-8362-1429-2

Bestellen (bei Amazon.de)
Bestellen (beim Verlag)
Bestellen (bei BOL.de)

oder sofort als eBook (PDF)

Bestellen (bei ciando.com)

Mittlerweile gibt es eine ganze Menge an Büchern zur C++-Programmiersprache. Dies alleine zeigt schon die Popularität, welche diese Sprache geniest. Natürlich habe ich es mir nicht nehmen lassen, auch etwas vom großen Kuchen abzubekommen. Wieso mache ich mir aber die Mühe gute acht Monate für das Schreiben eines weiteren Buches zu dieser Sprache zu verfassen, wenn es schon unzählige davon gibt? Es gibt schließlich viele hervorragende C++-Bücher für Einsteiger. Und Profis greifen dann zum vielzitierten Stroustrup (»Die C++ Programmiersprache«). In welche Zielgruppe zielt also dieses Buch und was bietet dieses Buch, was andere C++-Bücher nicht anbieten?

Zielgruppe

Dieses Buch richtet sich an fast jede Zielgruppe und kann auch als Nachschlagewerk verwendet werden. Es ist geeignet für den absoluten Einsteiger in die Programmierung bis hin zum fortgeschrittenen Programmierer. Auch »Umsteiger« von C dürften hier keine Probleme haben und auch das Deja-vu-Erlebnis sollte sich hier in Grenzen halten (speziell auch für die Leser meines Buches »C von A bis Z«). Es ist auch nicht nötig, dass Sie bereits über Kenntnisse irgendeiner anderen Programmiersprache verfügen. Nach diesem Buch können Sie ohne Bedenken auf das Stroustrup-Buch zurückgreifen und sich selbst den letzten Schliff geben. Natürlich darf man bei einem Buch zur Programmierung (egal welcher Programmiersprache) immer erwarten, dass der Leser grundlegende Kenntnisse über die Arbeiten mit einem PC mitbringt.

Aber was bietet dieses Buch mehr als andere Bücher zu C++? Eine ganze Menge mehr. Neben dem üblichen ANSI-C++-Standard geht dieses Buch auch auf Themen wie STL, Boost, Socket- oder der GUI-Programmierung ein.

CD/DVD Damit Sie außerdem sofort loslegen können, enthält die beiliegende CD-ROM neben Openbooks die Entwicklungsumgebung Code::Blocks.

C und C++

Das C++ eine Erweiterung von C, ist bringt so manchen Buch-Autor zum Grübeln. Soll man jetzt ein Buch zweiteilen und somit C und C++ verwenden oder C ganz ignorieren. Zugegeben, wer reines C++ programmieren will, benötigt kein C. Aber C völlig zu ignorieren und als unnötigen Ballast zu bezeichnen, ist ein weiterer folgenschwerer Fehler. Wer das Glück hat und ein neues leeres Projekt anfangen darf, dem kann C egal sein. Aber hat man als Programmierer die undankbare Aufgabe »alte« Programme zu pflegen bzw. zu verbessern. Und häufig sind solche Programme noch in C geschrieben. Hierbei erhält man dann meistens den Auftrag, das Programm doch Objektorientiert und flexibler zu machen – sprich: Man soll aus einem in C geschriebenem Programm ein C++-Programm machen. Wie dem auch sein, über das Pro und Contra ließen sich noch viele Zeilen schreiben und eben aus diesem Grund finden Sie auf der Buch-CD als kostenlose Dreingabe die HTML-Version des Buches »C von A bis Z (2.Auflage)« wieder (was Sie selbstverständlich auch käuflich erwerben können).

Betriebssystem

Da dieses Buch über dem gewöhnlichen Standard-C++-Umfang hinausgeht, stellen Sie sich sicherlich die Frage, ob Sie das alles auch auf Ihrem Betriebssystem benutzen können. Hierzu ein ganz klares ja. Alle Themen sind so gut wie plattformunabhängig und wurden auf Linux, Unix (BSD) und MS-Windows getestet. Und wenn es trotzdem mal die eine oder andere »Ungereimtheit« gibt, wird darauf hingewiesen und entsprechendes Gegenstück demonstriert. Natürlich ist dieses Buch so aufgebaut, dass zuerst auf die in C++ standardisierten Dinge eingegangen wird.

Übersicht

Im ersten Kapitel wird auf die reinen Grundlagen von C++ eingegangen. Dies beinhaltet einfache Dinge wie den Bezeichnern, Basis-Datentypen, Konstanten, der einfachen Ein-/ Ausgabe, den grundlegenden Operatoren, Kommentare,  Kontrollstrukturen wie Verzweigungen oder Schleifen,  den Funktionen und  Präprozessor-Direktiven.

Kapitel zwei geht auf die höheren und fortgeschrittenen Datentypen wie Zeiger, Referenzen, Arrays, Zeichenketten (C-Strings) und Strukturen ein.

Das dritte Kapitel behandelt unspektakuläre aber sehr wichtige Themen wie die Gültigkeitsbereiche, Namensräume, Speicherklassenattribute, Typenqualifikatioren und Typenumwandlungen.

Das Kapitel vier ist das Wichtigste, aber auch schwierigste Kapitel in diesem Buch. Darin dreht sich alles um die objektorientierte Programmierung und was dazu gehört. Das verstehen dieses Kapitels ist die Grundlage für die weiteren Kapitel im Buch und auch für C++ überhaupt. Dabei dreht sich alles rund um die Klassen und wie man diese in der Praxis anwenden kann. Natürlich wird hierbei auch auf die Vererbung, Polymorphismus und Mehrfachvererbung eingegangen.

Kapitel fünf geht dann auf die Erstellung eigner Funktions- und Klassentemplates ein. Darauf basiert ja auch die STL (Standard Template Library), weshalb auch sehr umfangreich auf STL eingegangen wird.

Da in den vorangegangenen Kapiteln immer häufiger die Rede von Exceptions (Ausnahmebehandlung) war, so behandelt Kapitel sechs dieses Thema sehr umfassend.

Gewöhnlich besitzt jede Sprache einen Standard-Umfang. So natürlich auch C++ mit Ihren Standard-Bibliotheken. Zunächst wird sehr ausführlich auf die String-Bibliothek eingegangen. Anschließend folgen die Klassen für die Ein-/Ausgabe. Dabei wird neben den gewöhnlichen Klassen für die Ein- bzw. Ausgabe-Streams auch auf die Klassen für die Datei- und String-Streams eingegangen. Auch für Mathematiker hält C++ mit den Klassen valarray undcomplex einiges bereit. Natürlich wird auch auf andere numerische Bibliotheken eingegangen. Am Ende des siebten Kapitel finden Sie auch noch eine Beschreibung, wie Sie eine Typenerkennung zur Laufzeit durchführen können.

In Kapitel acht finden Sie allerlei Dinge, die man als C++-Programmierer einfach wissen sollte. Neben einfacheren Dingen wie Sie bspw. eigene Module erstellen wird hierbei auch auf die feinen aber sehr wichtigen Unterschiede zwischen C und C++ eingegangen. Des weiteren finden Sie eine sehr umfassende Einführung in UML und der Erstellung von Klassen-Diagrammen. Natürlich wird auch ein wenig auf den Programmierstil eingegangen. Sehr selten findet man etwas über Boost, weshalb auch in diesem Kapitel ein wenig, mit der Bibliothek Boost.Regex (für reguläre Ausdrücke) darauf eingegangen wird.

Kaptitel neun behandelt die Netzwerkprogrammierung. Da die Netzwerkprogrammierung nicht mehr zu den portablen Sachen gehört, wird in diesem Kapitel auch gleich ein wenig auf die Crossplattform-Entwicklung eingegangen. Hierzu werden Sie eine eigene Socket-Klasse schreiben.

Im letzten Kapitel erhalten Sie zunächst einen Überblick zu den gängigen GUI- und Multimedia-Bibliotheken. Anschließend wird sehr umfassend auf das wxWidgets-Framework eingegangen. Auch hierbei müssen Sie sich keine Gedanken bezüglich der Portabilität machen. wxWidgets gibt es auf allen gängigen Plattformen und (noch besser) die Quelltexte lassen sich ohne Änderungen auf den verschiedensten Systemen übersetzen.