Grundkurs C++

Buch | Softcover
495 Seiten
2021 | 4., akt. und überarb. Aufl.
Rheinwerk (Verlag)
978-3-8362-7636-8 (ISBN)

Lese- und Medienproben

Grundkurs C++ - Jürgen Wolf, Martin Guddat
14,90 inkl. MwSt
  • Eine kompakte Einführung in die Programmiersprache C++
  • Vom ersten Schritt bis zum komplexen Programm
  • Mit Übungen und kommentierten Lösungen zu jedem Kapitel

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.

Vom Einfachen zum Komplexen
Um C++ zu lernen, gehen Sie einfach das Buch vom Anfang bis zum Ende durch. Es führt Sie von den grundlegenden Sprachelementen hin zu den komplexeren Strukturen in C++.

Basis-Know-How im Überblick
Jedes Thema, seien es Schleifen, Funktionen, Arrays oder Zeiger, wird in einem eigenen Kapitel behandelt. So können Sie schnell nachschlagen, was Sie benötigen.

Üben und sichern
Jedes Kapitel schließt mit Übungs-aufgaben ab. So merken Sie schnell, welche Fortschritte Sie gemacht haben und was Sie noch einmal nachlesen sollten.

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

Jürgen Wolf ist Softwareentwickler, Digitalfotograf und Autor aus Leidenschaft. C/C++, Perl, Linux und die Bildbearbeitung mit Photoshop Elements und GIMP sind seine Themen.

Prof. Dr. Martin Guddat lehrt an der Westfälischen Hochschule in Gelsenkirchen und Bocholt. Er hat langjährige Erfahrung in der Erstellung technischer Software, z.B. für Mobiltelefone und Fingerabdrucksensoren, zudem als IT-Projektleiter und als Berater im Bereich der Systemintegration großer Softwareprojekte.



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


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. Erste Schritte in C++ ... 30


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. Die eingebauten C++-Basisdatentypen ... 41


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. Arbeiten mit den eingebauten Typen ... 72


4.1 ... Arithmetische Operatoren ... 72

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

4.3 ... Typumwandlung ... 81

4.4 ... Kontrollfragen und Aufgaben ... 87



5. Kontrollstrukturen ... 88


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. Arrays und Strings ... 116


6.1 ... Arrays ... 116

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

6.3 ... Kontrollfragen und Aufgaben ... 136



7. Referenzen und Zeiger ... 137


7.1 ... Referenzen ... 137

7.2 ... Zeiger ... 139

7.3 ... Kontrollfragen und Aufgaben ... 148



8. Funktionen ... 150


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. Modularisierung und Präprozessor ... 184


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. Strukturen, Aufzählungen und dynamische Speicherobjekte ... 215


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. Klassen ... 237


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. Objekte und Klassenelemente ... 283


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. Operatoren überladen ... 323


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. Vererbung (Abgeleitete Klassen) ... 354


14.1 ... Die Vorbereitung ... 355

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

14.3 ... Kontrollfragen und Aufgaben ... 375



15. Templates ... 376


15.1 ... Funktions-Templates ... 376

15.2 ... Klassen-Templates ... 385

15.3 ... Templates der Standardbibliothek ... 390

15.4 ... Kontrollfragen und Aufgaben ... 397



16. Ausnahmebehandlung (Fehlerbehandlung) ... 399


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. Ein-/Ausgabestreams für Dateien ... 422


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. Weitere Sprachelemente und die Bibliotheken ... 435


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



Lösungen der Übungsaufgaben ... 466


Index ... 489

Die Fachpresse zur Vorauflage:

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

Erscheinungsdatum
Verlagsort Bonn
Sprache deutsch
Maße 125 x 190 mm
Einbandart kartoniert
Themenwelt Informatik Programmiersprachen / -werkzeuge C / C++
Schlagworte Buch Bücher lernen Grundlagen Kurse Tipps Workshops Tutorial Wissen Anleitung Ausbildung • Buch Bücher lernen Grundlagen Kurse Tipps Workshops Tutorial Wissen Ausbildung • C++11 • C++20 • C++-Programmierung • Informatik • Objektorientierte Programmierung • objektorientiert programmieren • OOP • Programmieren Studium • Programmiersprache • Programmierung • Smart Pointer • Übungsaufgaben
ISBN-10 3-8362-7636-4 / 3836276364
ISBN-13 978-3-8362-7636-8 / 9783836276368
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
Das umfassende Handbuch

von Torsten T. Will

Buch | Hardcover (2024)
Rheinwerk (Verlag)
49,90
Technisch-wissenschaftliche Übungsaufgaben mit Lösungen

von Thomas Hoch; Gerd Küveler

Buch | Softcover (2023)
Springer Vieweg (Verlag)
37,99
das umfassende Handbuch

von Jürgen Wolf; René Krooß

Buch | Hardcover (2023)
Rheinwerk (Verlag)
49,90