Das vertiefende Buch zu Thomas Mahrs C++ Tutorial auf Youtube .
Das Buch führt in die Programmiersprache C++ ein und ist für alle geschrieben, die über C-Grundkenntnisse verfügen oder zumindest mit einer höheren Programmiersprache vertraut sind. 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, C++ zähle zu den leicht zu erlernenden Programmiersprachen. 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. Das Buch soll Sie beim Bau eines stabilen Fundaments unterstützen. Hierfür sind zwar nicht die allerneuesten C++ Sprachmerkmale notwendig, nützliche Merkmale des "modernen C++", bis hin zu C++20, werden dennoch vorgestellt. Das Buch bietet viele Beispielprogramme, Abbildungen und Speicherskizzen, 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 Beispiele sind online verfügbar und mit verschiedenen Versionen von g++ und clang++ unter Linux getestet, sollten aber ebenso unter Windows und macOS und mit anderen Compilern funktionieren.
Kaufen Sie das Buch nicht, falls Sie keinerlei Programmierkenntnisse besitzen, Anglizismen lieben 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, Vererbung, Polymorphie
- Klassen und Namensräumen, Zugriffsrechte, überladene Funktionen, Freundfunktionen und Freundklassen
- Referenzen, Inline-Funktionen, konstante Elementfunktionen, statische Klassenelemente, konstante Ausdrücke
- Konstruktor, Destruktor, Kopierkonstruktor, Sequenzkonstruktor, Typumwandlungskonstruktor
- Vererbung und Komposition, verdeckte Funktionen
- Späte Bindung und Polymorphie, virtuelle und abstrakte Funktionen, polymorphe Klassen, Schnittstellen, überschriebene Funktionen
- Standardbibliothek, Ein- und Ausgabe, Datenbehälter
- Operatorüberladung und Typumwandlungsoperator
- Parametrierbare Funktionen und Klassen (Templates)
- Ausnahmebehandlung
- R-Wert-Referenzen, Verschiebesemantik
- Lambda-Funktionen
- Dynamische Speicherverwaltung, automatische Verwaltung des Freispeichers, Speicheranalyse mit Valgrind
- Architekturentwurf mit Klassen-, Sequenz- und Zustandsdiagramm der UML
- Grafik mit Gnuplot und 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 technischen Studiengängen der Fakultät Elektrotechnik, Feinwerktechnik und Informationstechnik. Das Buch ist aus dem Modul "Objektorientierte Programmierung" hervorgegangen, das aus jeweils zwei Semesterwochenstunden Vorlesung und Praktikum besteht und sich an Studenten des vierten Semesters richtet, die zuvor C erlernt haben.