Grundkurs C++ (kartoniertes Buch)

Ideal für Studium und Beruf. Aktuell zu C++20
ISBN/EAN: 9783836276368
Sprache: Deutsch
Umfang: 495 S.
Einband: kartoniertes Buch
Dieser Grundkurs ist genau das Richtige für alle, die einen schnellen Einstieg in die Programmiersprache C++ und einen Überblick über die Grundlagen ohne viel Beiwerk suchen. Ausführlich und jederzeit verständlich erklären Martin Guddat und Jürgen Wolf alles, was notwendig ist, damit Sie modernes C++ lernen und objektorientiert programmieren können. Von der ersten Seite an geht es sofort los mit einfachen Programmen bis hin zur Entwicklung komplexerer Anwendungen. Übungen am Ende jedes Kapitels helfen Einsteigern und vor allem Selbstlernern beim Verstehen der Sprache. Die kompakte Darstellung macht das Buch zu einer unverzichtbaren Referenz für die Arbeit mit C++.Diese vierte Auflage wurde umfassend überarbeitet und modernisiert.Das Buch eignet sich hervorragend als Begleiter für das Studium der Informatik und anderer technischer Fächer.

Aus dem Inhalt:

Das erste Programm in C++
Basisdatentypen
Typumwandlung
Verzweigungen
Schleifen
Funktionen
Präprozessor-Direktiven
Arrays und Zeichenketten (Strings)
Zeiger (Pointer)
Dynamische Speicherobjekte und Strukturen
Namensräume
Modulare Programmierung
Klassen und Objekte
Vererbung
Operatoren überladen
Templates
Exceptionhandling (Fehlerbehandlung)
Modernes C++ bis C++20



Die Fachpresse zur Vorauflage:

LINUX MAGAZIN: »Der C++-Grundkurs überzeugt durch eingängige Erklärungen aller wichtigen Eigenschaften der Programmiersprache in einem kompakten Format.«










       1.1 ... Der C++-Standard ... 17


       1.2 ... Die nötigen Werkzeuge für C++ ... 18


       1.3 ... Übersetzen mit g++ und clang++ ... 22


       1.4 ... Übersetzen mit einer Entwicklungsumgebung ... 24


       1.5 ... Listings zum Buch ... 28


       1.6 ... Kontrollfragen und Aufgaben im Buch ... 28


       1.7 ... Aufgabe ... 28











       2.1 ... Das erste Programm in C++ ... 30


       2.2 ... Anweisungen und Ausdrücke ... 32


       2.3 ... Die Standard-Eingabe- und Ausgabestreams ... 33


       2.4 ... Einige Begriffe zu C++ ... 38


       2.5 ... Kontrollfragen und Aufgaben ... 40











       3.1 ... Variablen ... 41


       3.2 ... Definition und Deklaration von Variablen ... 42


       3.3 ... Initialisierung und Zuweisung von Werten ... 43


       3.4 ... Ganzzahltypen ... 45


       3.5 ... Ganzzahldatentyp für Zeichen ... 53


       3.6 ... Fließkommazahlentypen ... 62


       3.7 ... Der »auto«-Typ ... 64


       3.8 ... Konstanten ... 66


       3.9 ... Die Byte-Größe mit dem »sizeof«-Operator ... 67


       3.10 ... Limits für die Basisdatentypen ... 68


       3.11 ... Kontrollfragen und Aufgaben ... 71











       4.1 ... Arithmetische Operatoren ... 72


       4.2 ... Ungenaue Fließkommazahlen ... 79


       4.3 ... Typumwandlung ... 81


       4.4 ... Kontrollfragen und Aufgaben ... 87











       5.1 ... Der eingebaute Datentyp »bool« ... 88


       5.2 ... Vergleichsoperatoren ... 89


       5.3 ... Bedingte Anweisung mit »if« ... 91


       5.4 ... Anweisungsblock für Kontrollstrukturen ... 93


       5.5 ... Alternative »else«-Verzweigung ... 94


       5.6 ... Bedingte Anweisung mit Initialisierung ... 95


       5.7 ... Mehrfache Verzweigung ... 96


       5.8 ... Der Bedingungsoperator »?:« ... 99


       5.9 ... Logische Operatoren ... 100


       5.10 ... Die Fallunterscheidung -- »switch« ... 102


       5.11 ... Die kopfgesteuerte »while«-Schleife ... 105


       5.12 ... Die fußgesteuerte »do while«-Schleife ... 107


       5.13 ... Die Zählschleife »for« ... 108


       5.14 ... Kontrollierte Sprunganweisungen ... 112


       5.15 ... Kontrollfragen und Aufgaben ... 115











       6.1 ... Arrays ... 116


       6.2 ... Strings in C++ ... 130


       6.3 ... Kontrollfragen und Aufgaben ... 136











       7.1 ... Referenzen ... 137


       7.2 ... Zeiger ... 139


       7.3 ... Kontrollfragen und Aufgaben ... 148











       8.1 ... Grundlage zu den Funktionen ... 150


       8.2 ... Referenzen als Parameter und Rückgabe ... 171


       8.3 ... Zeiger als Parameter und Rückgabewert ... 178


       8.4 ... Übergabe großer Elemente als Funktionsparameter ... 179


       8.5 ... C-Arrays oder C-Strings als Funktionsparameter ... 181


       8.6 ... Kontrollfragen und Aufgaben ... 182











       9.1 ... Präprozessor-Direktiven ... 184


       9.2 ... Modularisierung ... 189


       9.3 ... Namensräume ... 195


       9.4 ... Spezifizierer und Qualifikatoren ... 206


       9.5 ... Kontrollfragen und Aufgaben ... 213











       10.1 ... Erste eigene Datentypen mit Strukturen ... 215


       10.2 ... Aufzählungstyp »enum« ... 223


       10.3 ... Eigene Namen mit »using« ... 225


       10.4 ... Dynamische Speicherobjekte ... 226


       10.5 ... Kontrollfragen und Aufgaben ... 236











       11.1 ... Klassen ... 237


       11.2 ... Konstruktoren ... 251


       11.3 ... Destruktoren ... 268


       11.4 ... Weitere Formen von Methoden ... 273


       11.5 ... Kontrollfragen und Aufgaben ... 281











       12.1 ... Objekt als Parameter ... 283


       12.2 ... Freundfunktionen (»friend«) ... 288


       12.3 ... Objekte einer Klasse als Rückgabewerte ... 290


       12.4 ... Arrays von Objekten ... 296


       12.5 ... Dynamische Objekte ... 297


       12.6 ... Klassenobjekte als Klassenattribute ... 299


       12.7 ... Containerklasse als Klassenattribut ... 304


       12.8 ... Smart Pointer als Klassenattribut ... 307


       12.9 ... Statische und konstante Klassenelemente ... 311


       12.10 ... Die Nullregel (Rule of Zero) ... 318


       12.11 ... Kontrollfragen und Aufgaben ... 322











       13.1 ... Das Schlüsselwort »operator« ... 325


       13.2 ... Zweistellige (arithmetische) Operatoren überladen ... 326


       13.3 ... Einstellige Operatoren überladen ... 333


       13.4 ... Den Zuweisungsoperator überladen ... 337


       13.5 ... Ausgabe- und Eingabeoperatoren überladen ... 342


       13.6 ... Vergleichsoperatoren ... 345


       13.7 ... Weitere Operatorüberladungen ... 348


       13.8 ... Konvertierungsoperatoren ... 348


       13.9 ... Kontrollfragen und Aufgaben ... 352











       14.1 ... Die Vorbereitung ... 355


       14.2 ... Das Ableiten einer Klasse ... 357


       14.3 ... Kontrollfragen und Aufgaben ... 375











       15.1 ... Funktions-Templates ... 376


       15.2 ... Klassen-Templates ... 385


       15.3 ... Templates der Standardbibliothek ... 390


       15.4 ... Kontrollfragen und Aufgaben ... 397











       16.1 ... Eine Ausnahme auslösen ... 401


       16.2 ... Ausnahme auffangen und behandeln ... 402


       16.3 ... Ausnahmeklassen (Fehlerklassen) ... 412


       16.4 ... Standardausnahmen ... 415


       16.5 ... Systemausnahmen ... 420


       16.6 ... Kontrollfragen ... 421











       17.1 ... Der Umgang mit Dateien in C++ ... 422


       17.2 ... Verschiedene Streams für Dateien ... 422


       17.3 ... Datei öffnen und schließen ... 423


       17.4 ... Kontrollfragen und Aufgaben ... 434











       18.1 ... Weitere Sprachelemente ... 435


       18.2 ... Smart Pointer ... 442


       18.3 ... Elemente der Standardbibliothek ... 452


       18.4 ... Die Zeitbibliothek ... 458


       18.5 ... Die »ratio«-Bibliothek ... 463


       18.6 ... Multithreading ... 464