Zum Hauptinhalt springen Zur Suche springen Zur Hauptnavigation springen
Dekorationsartikel gehören nicht zum Leistungsumfang.
Grundkurs C++
Kompaktes Wissen im Taschenbuchformat. Ideal für Studium und Beruf. Aktuell zu C++23
Taschenbuch von Jürgen Wolf (u. a.)
Sprache: Deutsch

19,90 €*

inkl. MwSt.

Versandkostenfrei per Post / DHL

auf Lager, Lieferzeit 1-2 Werktage

Produkt Anzahl: Gib den gewünschten Wert ein oder benutze die Schaltflächen um die Anzahl zu erhöhen oder zu reduzieren.
Kategorien:
Beschreibung
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 [...] fünfte Auflage wurde umfassend überarbeitet und [...] 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
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 [...] fünfte Auflage wurde umfassend überarbeitet und [...] 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
Über den Autor
Jürgen Wolf ist seit über 20 Jahren Autor und seit mehr als 10 Jahren passionierter Digitalfotograf. Seine Buchthemen sind Bildbearbeitung, Fotografie, Webentwicklung, Betriebssysteme und Programmierung. Und egal welches Thema: Bei jedem Buch ist es sein Ziel, auch komplexe Zusammenhänge klar und verständlich zu erklären.
Inhaltsverzeichnis
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
Details
Erscheinungsjahr: 2025
Fachbereich: Programmiersprachen
Genre: Informatik, Mathematik, Medizin, Naturwissenschaften, Technik
Rubrik: Naturwissenschaften & Technik
Medium: Taschenbuch
Reihe: Rheinwerk Computing
Inhalt: 542 S.
ISBN-13: 9783367104529
ISBN-10: 3367104523
Sprache: Deutsch
Einband: Klappenbroschur
Autor: Wolf, Jürgen
Guddat, Martin
Auflage: 5. Auflage
Hersteller: Rheinwerk Verlag GmbH
Verantwortliche Person für die EU: Rheinwerk Verlag GmbH, Rheinwerkallee 4, D-53227 Bonn, service@rheinwerk-verlag.de
Maße: 188 x 122 x 32 mm
Von/Mit: Jürgen Wolf (u. a.)
Erscheinungsdatum: 06.06.2025
Gewicht: 0,598 kg
Artikel-ID: 133356849
Über den Autor
Jürgen Wolf ist seit über 20 Jahren Autor und seit mehr als 10 Jahren passionierter Digitalfotograf. Seine Buchthemen sind Bildbearbeitung, Fotografie, Webentwicklung, Betriebssysteme und Programmierung. Und egal welches Thema: Bei jedem Buch ist es sein Ziel, auch komplexe Zusammenhänge klar und verständlich zu erklären.
Inhaltsverzeichnis
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
Details
Erscheinungsjahr: 2025
Fachbereich: Programmiersprachen
Genre: Informatik, Mathematik, Medizin, Naturwissenschaften, Technik
Rubrik: Naturwissenschaften & Technik
Medium: Taschenbuch
Reihe: Rheinwerk Computing
Inhalt: 542 S.
ISBN-13: 9783367104529
ISBN-10: 3367104523
Sprache: Deutsch
Einband: Klappenbroschur
Autor: Wolf, Jürgen
Guddat, Martin
Auflage: 5. Auflage
Hersteller: Rheinwerk Verlag GmbH
Verantwortliche Person für die EU: Rheinwerk Verlag GmbH, Rheinwerkallee 4, D-53227 Bonn, service@rheinwerk-verlag.de
Maße: 188 x 122 x 32 mm
Von/Mit: Jürgen Wolf (u. a.)
Erscheinungsdatum: 06.06.2025
Gewicht: 0,598 kg
Artikel-ID: 133356849
Sicherheitshinweis

Ähnliche Produkte

Ähnliche Produkte