Neuere Version seit 8. März 2022 verfügbar: ISBN 979-8427916370, https: //www.amazon.de/dp/B09V2HGRNV
Dieses Buch führt in die Programmiersprache C++ ein und ist für alle geschrieben, die über Grundkenntnisse in C verfügen. Dabei vertieft das Buch diejenigen Themen aus C, die den Zugang zu C++ erleichtern. Kennt man Zeiger, so versteht man schnell den in C++ eingeführten Typ der Referenz. Weiß man über das Wechselspiel von Präprozessor, Compiler, Assembler und Linker Bescheid, erschließt sich einem eher, weshalb etwas in C++ so ist und nicht anders.
Das Buch erweckt nicht die Illusion, dass C++ zu den leicht zu erlernenden Programmiersprachen zählt. Stößt jemand auf Schwierigkeiten mit der Sprache, so liegt das häufig an zu vielen kleinen Lücken, die in ihrer Gesamtheit ein zerbrechliches Fundament bilden, auf dem man sich nicht frei, sicher und schnell genug bewegen kann. Ohne diese Grundlage bleibt nur die vermeintliche Rettung in ein undurchsichtiges Regelwerk, anhand dessen man versucht zu erklären, weshalb ein Compiler genau diese Fehlermeldung ausgibt, oder das Programm sich so und nicht anders verhält. Am Ende bleibt aber alles ein Mysterium.
Das Buch soll Sie beim Bau eines stabilen Fundaments unterstützen. Hierfür sind nicht die allerneuesten C++ Sprachmerkmale notwendig. Eine Beschränkung auf C++ 11 reicht für den Einstieg in die Sprache vollkommen aus. Stattdessen bietet das Buch viele Beispielprogramme, Abbildungen und Speicherskizzen in Tabellenformat, welche die Zusammenhänge und Abläufe innerhalb des C++ Programms veranschaulichen. Die Code-Beispiele werden durch Kommentarblöcke erläutert, die optisch mit den Code-Stellen verbunden sind. Alle Beispielprogramme sind online verfügbar. Sie sind mit g++ 5.4.0 und clang++ 3.8.0 unter Linux getestet, sollten aber ebenso unter Windows und macOS und mit anderen Compilern funktionieren, die den C++ 11 Sprachstandard unterstützen.
Kaufen Sie das Buch nicht, falls Sie überhaupt Programmier-Grundkenntnisse besitzen, Anglizismen lieben, Ihr Fokus auf der Programmierung von Benutzeroberflächen liegt oder an der Entwicklung technischer Software überhaupt nicht interessiert sind! Das Buch wird Ihnen aber von Nutzen sein, wenn es Ihr Ziel ist, ein tieferes Verständnis für C++ und objektorientierte Konzepte zu gewinnen!
Inhalt- Objektorientierte Konzepte
- Kapselung mit Klassen und Namensräumen, Inline-Funktionen, Zugriffsrechte, konstante Elementfunktionen, Funktionen überladen, statische Klassenelemente, Konstruktor, Destruktor, Kopierkonstruktor, Sequenzkonstruktor, Typumwandlung
- Vererbung und Komposition, späte Bindung und Polymorphie, virtuelle und abstrakte Funktionen, polymorphe Klassen
- Operatorüberladung und Typumwandlungsoperator, parametrierbare Funktionen und Klassen (templates), Ausnahmebehandlung (exception handling)
- Standardbibliothek, Ein- und Ausgabe, Datenbehälter, Referenzen, R-Wert-Referenzen und Verschiebesemantik
- Dynamische Speicherverwaltung und automatische Verwaltung des Freispeichers (heap memory), Speicheranalyse mit Valgrind
- Architekturentwurf mit Klassen- und Sequenzdiagramm der UML
- Diagrammerstellung mit Gnuplot-Grafikprogrammierung mit openFrameworks
AutorDer Autor programmiert seit 1990 C++. Er ist Professor an der Technischen Hochschule Nürnberg und unterrichtet seit dem Sommersemester 2010 jedes Semester C++ in den Studiengängen "Bachelor Elektrotechnik und Informationstechnik" und "Bachelor Medizintechnik" der Fakultät Elektrotechnik, Feinwerktechnik und Informationstechnik. Das Buch ist aus dem Modul "Objektorientierte Programmierung" hervorgegangen, das aus jeweils 2 Semesterwochenstunden Vorlesung und Praktikum besteht und sich an Studenten des vierten Semesters richtet, die zuvor die Programmiersprache C erlernt haben.