Grundkurs C++ - Kompaktes Wissen im Taschenbuchformat. Ideal für Studium und Beruf. Aktuell zu C++23

Taschenbuch
19,90 €
inkl. MwSt. zzgl. Versandkosten

Reduzierte Artikel in dieser Kategorie

Preisbindung aufgehoben3
9,99 € 44,90 €3
Preisbindung aufgehoben3
6,99 € 14,90 €3
Preisbindung aufgehoben3
4,99 € 14,90 €3
Vergleich zu ehemaliger UVP6
9,99 € 29,80 €6

Produktdetails  
Verlag Rheinwerk Verlag
Auflage 5. Auflage, 06.06.2025
Seiten 542
Format 12,5 x 2,9 x 19,1 cm
Großformatiges Paperback. Klappenbroschur
Gewicht 596 g
ISBN-10 3367104523
ISBN-13 9783367104529
Bestell-Nr 36710452A

Produktbeschreibung  

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 Einsteiger*innen und vor allem Selbstlerner*innen beim Verstehen der Sprache. Die kompakte Darstellung macht das Buch zu einer unverzichtbaren Referenz für die Arbeit mit C++.
Diese fünfte 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++23


Inhalt:



  1.  Einstieg in die Welt von C++ ... 19


       1.1 ... Der C++-Standard ... 19

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

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

       1.4 ... Übersetzen mit einer Entwicklungsumgebung ... 26

       1.5 ... Listings zum Buch ... 30

       1.6 ... Kontrollfragen und Aufgaben im Buch ... 30

       1.7 ... Aufgabe ... 30

       1.8 ... Aufgabe zu C++ 23 ... 31



  2.  Erste Schritte in C++ ... 33


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

       2.2 ... Anweisungen und Ausdrücke ... 35

       2.3 ... Die Standardeingabe- und -ausgabestreams ... 37

       2.4 ... Einige Begriffe zu C++ ... 43

       2.5 ... Kontrollfragen und Aufgaben ... 45



  3.  Die eingebauten C++-Basisdatentypen ... 46


       3.1 ... Variablen ... 46

       3.2 ... Definition und Deklaration von Variablen ... 47

       3.3 ... Initialisierung und Zuweisung von Werten ... 48

       3.4 ... Ganzzahltypen ... 51

       3.5 ... Ganzzahldatentyp für Zeichen ... 58

       3.6 ... Fließkommazahlentypen ... 68

       3.7 ... Der 'auto'-Typ ... 71

       3.8 ... Konstanten ... 72

       3.9 ... Die Byte-Größe mit dem 'sizeof'-Operator ... 73

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

       3.11 ... Kontrollfragen und Aufgaben ... 77



  4.  Arbeiten mit den eingebauten Typen ... 78


       4.1 ... Arithmetische Operatoren ... 78

       4.2 ... Ungenaue Fließkommazahlen ... 86

       4.3 ... Typumwandlung ... 88

       4.4 ... Formatierte Ausgabe von Werten ... 94

       4.5 ... Kontrollfragen und Aufgaben ... 95



  5.  Kontrollstrukturen ... 97


       5.1 ... Der eingebaute Datentyp 'bool' ... 97

       5.2 ... Vergleichsoperatoren ... 98

       5.3 ... Bedingte Anweisung mit 'if' ... 101

       5.4 ... Anweisungsblock für Kontrollstrukturen ... 102

       5.5 ... Alternative 'else'-Verzweigung ... 103

       5.6 ... Bedingte Anweisung mit Initialisierung ... 105

       5.7 ... Mehrfache Verzweigung ... 105

       5.8 ... Der Bedingungsoperator '?:' ... 108

       5.9 ... Logische Operatoren ... 109

       5.10 ... Die Fallunterscheidung -- 'switch' ... 111

       5.11 ... Die kopfgesteuerte 'while'-Schleife ... 114

       5.12 ... Die fußgesteuerte 'do-while'-Schleife ... 116

       5.13 ... Die Zählschleife 'for' ... 117

       5.14 ... Kontrollierte Sprunganweisungen ... 121

       5.15 ... Kontrollfragen und Aufgaben ... 123



  6.  Arrays und Strings ... 125


       6.1 ... Arrays ... 125

       6.2 ... Strings in C++ ... 139

       6.3 ... Kontrollfragen und Aufgaben ... 145



  7.  Referenzen und Zeiger ... 146


       7.1 ... Referenzen ... 146

       7.2 ... Zeiger ... 149

       7.3 ... Kontrollfragen und Aufgaben ... 158



  8.  Funktionen ... 160


       8.1 ... Grundlegendes zu Funktionen ... 160

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

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

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

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

       8.6 ... Kontrollfragen und Aufgaben ... 191



  9.  Modularisierung und Präprozessor ... 193


       9.1 ... Präprozessor-Direktiven ... 193

       9.2 ... Modulare Programmierung ... 199

       9.3 ... Namensräume ... 205

       9.4 ... Spezifizierer und Qualifikatoren ... 217

       9.5 ... Kontrollfragen und Aufgaben ... 223



10.  Strukturen, Aufzählungen und dynamische Speicherobjekte ... 226


       10.1 ... Erste eigene Datentypen mit Strukturen ... 226

       10.2 ... Der Aufzählungstyp 'enum' ... 235

       10.3 ... Eigene Namen mit 'using' ... 237

       10.4 ... Dynamische Speicherobjekte ... 238

       10.5 ... Kontrollfragen und Aufgaben ... 249



11.  Klassen ... 250


       11.1 ... Klassen ... 250

       11.2 ... Konstruktoren ... 264

       11.3 ... Destruktoren ... 281

       11.4 ... Weitere Formen von Methoden ... 286

       11.5 ... Kontrollfragen und Aufgaben ... 295



12.  Objekte und Klassenelemente ... 297


       12.1 ... Objekt als Parameter ... 297

       12.2 ... Freundfunktionen ('friend') ... 302

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

       12.4 ... Arrays von Objekten ... 310

       12.5 ... Dynamische Objekte ... 311

       12.6 ... Klassenobjekte als Klassenattribute ... 313

       12.7 ... Eine Containerklasse als Klassenattribut ... 318

       12.8 ... Smart Pointer als Klassenattribut ... 321

       12.9 ... Statische und konstante Klassenelemente ... 325

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

       12.11 ... Kontrollfragen und Aufgaben ... 336



13.  Operatoren überladen ... 338


       13.1 ... Das Schlüsselwort 'operator' ... 340

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

       13.3 ... Einstellige Operatoren überladen ... 348

       13.4 ... Den Zuweisungsoperator überladen ... 352

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

       13.6 ... Vergleichsoperatoren ... 361

       13.7 ... Weitere Operatorüberladungen ... 364

       13.8 ... Konvertierungsoperatoren ... 364

       13.9 ... Kontrollfragen und Aufgaben ... 368



14.  Vererbung (Abgeleitete Klassen) ... 370


       14.1 ... Die Vorbereitung ... 371

       14.2 ... Das Ableiten einer Klasse ... 373

       14.3 ... Kontrollfragen und Aufgaben ... 393



15.  Templates ... 395


       15.1 ... Funktionstemplates ... 395

       15.2 ... Klassentemplates ... 405

       15.3 ... Kontrollfragen und Aufgaben ... 411



16.  Ausnahmebehandlung (Fehlerbehandlung) ... 413


       16.1 ... Grundlagen der Fehlerbehandlung ... 413

       16.2 ... Eine Ausnahme auslösen ... 415

       16.3 ... Eine Ausnahme auffangen und behandeln ... 416

       16.4 ... Standardausnahmen (Fehlerklassen) ... 426

       16.5 ... Die Alternative 'std::expected' ... 431

       16.6 ... Vermeidung von Fehlern mit [[nodiscard]] ... 433

       16.7 ... Fehlerdiagnose mit 'std::source_location' ... 434

       16.8 ... Kontrollfragen ... 435



17.  Ein-/Ausgabestreams für Dateien ... 436


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

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

       17.3 ... Eine Datei öffnen und schließen ... 437

       17.4 ... Mit 'std::filesystem' arbeiten ... 449

       17.5 ... Kontrollfragen und Aufgaben ... 450



18.  Die Standardbibliothek und weitere Sprachelemente ... 452


       18.1 ... Die Container der Standardbibliothek ... 452

       18.2 ... Algorithmen der Standardbibliothek ... 465

       18.3 ... Fortgeschrittene Sprachelemente ... 468

       18.4 ... Fortgeschrittene Funktionskonzepte ... 473

       18.5 ... Smart Pointer ... 483

       18.6 ... Textansichten und Formatierung ... 494

       18.7 ... Die Zeitbibliothek ... 501

       18.8 ... Ausblick auf das Multithreading ... 507



  Anhang ... 509


       A ... Lösungen der Übungsaufgaben ... 509



  Index ... 533

Autorenporträt  
Mehr Angebote zum Thema