12,90 €
versandkostenfrei*

inkl. MwSt.
Sofort lieferbar
0 °P sammeln
  • Broschiertes Buch

1 Kundenbewertung

§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ärt Jürgen Wolf alles, was notwendig ist, damit Sie 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…mehr

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ärt Jürgen Wolf alles, was notwendig ist, damit Sie 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 dritte Auflage wurde umfassend aktualisiert. So wurde u. a. der Standard C++14 eingearbeitet.
Das Buch eignet sich hervorragend für Studenten der Informatik und anderer technischer Fächer. §§Aus dem Inhalt:
d Zeichenketten (Strings)§Zeiger (Pointer)§Dynamische Speicherobjekte und Strukturen§Namensräume§Modulare Programmierung§Klassen und Objekte§Vererbung§Operatoren überladen§Templates§Exceptionhandling (Fehlerbehandlung)§Neuerungen in C++11 und C++14
  • Produktdetails
  • Rheinwerk Computing
  • Verlag: Rheinwerk Computing / Rheinwerk Verlag
  • 3., aktualisierte und überarbeitete Auflage
  • Seitenzahl: 479
  • Erscheinungstermin: 25. April 2016
  • Deutsch
  • Abmessung: 190mm x 126mm x 24mm
  • Gewicht: 532g
  • ISBN-13: 9783836238953
  • ISBN-10: 3836238950
  • Artikelnr.: 44143840
Autorenporträt
Wolf, Jürgen
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. Sein Traum: ein ruhiges Leben im Westen Kanadas. Und Bücher auf der Veranda schreiben. Besuchen Sie seine umfangreiche Website www.pronix.de.
Inhaltsangabe
1. Einstieg in die Welt von C++ ... 18

1.1 ... Der C++-Standard ... 18

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

1.3 ... Übersetzen mit einer Entwicklungsumgebung ... 22

1.4 ... Übersetzen mit g++ und clang++ ... 26

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 ... 34

2.4 ... Einige Symbole von C++ ... 37

2.5 ... Kontrollfragen und Aufgaben ... 43

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

3.1 ... Variablen ... 44

3.2 ... Deklaration und Definition von Variablen ... 45

3.3 ... Initialisierung und Zuweisung von Werten ... 46

3.4 ... Ganzzahltypen ... 47

3.5 ... Datentyp für Zeichen ... 51

3.6 ... Internationale Zeichen ... 55

3.7 ... Fließkommazahlentypen ... 59

3.8 ... Limits für die Basisdatentypen ... 61

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

3.10 ... Sicherheit beim Kompilieren mit »static_assert« ... 63

3.11 ... »auto«-Typ ... 65

3.12 ... Konstanten ... 66

3.13 ... Kontrollfragen und Aufgaben ... 67

4. Arbeiten mit den eingebauten Typen ... 68

4.1 ... Arithmetische Operatoren ... 68

4.2 ... Erweiterte Darstellung arithmetischer Operatoren ... 72

4.3 ... Inkrement- und Dekrementoperator ... 72

4.4 ... Ungenaue Fließkommazahlen ... 75

4.5 ... Typumwandlung ... 77

4.6 ... Kontrollfragen und Aufgaben ... 84

5. Kontrollstrukturen ... 85

5.1 ... Anweisungsblock für Kontrollstrukturen ... 85

5.2 ... Der eingebaute Datentyp »bool« ... 87

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

5.4 ... Vergleichsoperatoren ... 92

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

5.6 ... Mehrfache Verzweigung ... 95

5.7 ... Der Bedingungsoperator »?:« ... 98

5.8 ... Logische Operatoren ... 100

5.9 ... Die Fallunterscheidung -- »switch« ... 103

5.10 ... Die kopfgesteuerte »while«-Schleife ... 106

5.11 ... Die fußgesteuerte »do while«-Schleife ... 109

5.12 ... Die Zählschleife »for« ... 112

5.13 ... Kontrollierte Sprunganweisungen ... 116

5.14 ... Kontrollfragen und Aufgaben ... 119

6. Arrays und Strings ... 120

6.1 ... Arrays ... 120

6.2 ... Strings verwenden ... 131

6.3 ... Kontrollfragen und Aufgaben ... 136

7. Referenzen und Zeiger ... 138

7.1 ... Referenzen ... 138

7.2 ... Zeiger ... 141

7.3 ... Kontrollfragen und Aufgaben ... 148

8. Funktionen ... 150

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

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

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

8.4 ... Größere Daten als Funktionsparameter ... 175

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

8.6 ... Kontrollfragen und Aufgaben ... 178

9. Präprozessor-Direktiven und Modularisierung ... 181

9.1 ... Präprozessor-Direktiven ... 181

9.2 ... Namensräume ... 187

9.3 ... Speicherklassenattribute ... 198

9.4 ... Typqualifikatoren ... 201

9.5 ... Modularisierung ... 202

9.6 ... Kontrollfragen und Aufgaben ... 209

10. Dynamische Speicherobjekte und Strukturen ... 212

10.1 ... Dynamische Speicherobjekte ... 212

10.2 ... Erste eigene Datentypen mit Strukturen ... 219

10.3 ... Aufzählungstyp »enum« ... 227

10.4 ... Eigene Namen mit »using« ... 230

10.5 ... Kontrollfragen und Aufgaben ... 231

11. Klassen ... 232

11.1 ... Klassen ... 232

11.2 ... Konstruktoren ... 246

11.3 ... Destruktoren ... 260

11.4 ... Methoden ... 266

11.5 ... Kontrollfragen und Aufgaben ... 273

12. Objekte und Klassenelemente ... 275

12.1 ... Konstante Objekte ... 275

12.2 ... Objekt einer Klasse als Parameter ... 276

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

12.4 ... Arrays von Objekten ... 287

12.5 ... Dynamische Objekte ... 288

12.6 ... Mehr zu den Klassenelementen ... 290

12.7 ... Andere Klassenobjekte als Datenelement einer Klasse ... 308

12.8 ... Freundfunktionen (»friend«) ... 313

12.9 ... Kontrollfragen und Aufgaben ... 315

13. Operatoren überladen ... 317

13.1 ... Schlüsselwort »operator« ... 318

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

13.3 ... Einstellige Operatoren überladen ... 327

13.4 ... Zuweisungsoperator überladen ... 331

13.5 ... Ein-/Ausgabeoperator überladen ... 336

13.6 ... Weitere Operatorüberladungen ... 339

13.7 ... Konvertierungsoperatoren ... 340

13.8 ... Kontrollfragen und Aufgaben ... 344

14. Vererbung (Abgeleitete Klassen) ... 345

14.1 ... Die Vorbereitung ... 346

14.2 ... Die Ableitung einer Klasse ... 347

14.3 ... Kontrollfragen und Aufgaben ... 364

15. Templates ... 366

15.1 ... Funktions-Templates ... 366

15.2 ... Klassen-Templates ... 375

15.3 ... Templates der Standardbibliothek ... 380

15.4 ... Kontrollfragen und Aufgaben ... 388

16. Ausnahmebehandlung (Fehlerbehandlung) ... 390

16.1 ... Ausnahme auslösen ... 391

16.2 ... Ausnahme auffangen und behandeln ... 392

16.3 ... Ausnahmeklassen (Fehlerklassen) ... 400

16.4 ... Standardausnahmen ... 402

16.5 ... Systemausnahmen ... 407

16.6 ... Kontrollfragen ... 409

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

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

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

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

17.4 ... Kontrollfragen und Aufgaben ... 421

Anhang ... 422

A ... Weitere Features in C++11/C++14 ... 422

B ... Lösungen der Übungsaufgaben ... 452

Index ... 473

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

1.1 ... Die (Kurz-)Geschichte von C++ ... 15

1.2 ... Der ANSI-C++-Standard ... 17

1.3 ... Was benötige ich für C++? ... 18

1.4 ... Welches Betriebssystem ...? ... 20

1.5 ... Was kann ich von dem Buch erwarten? ... 20

1.6 ... Listings zum Buch ... 20

1.7 ... Aufgaben im Buch ... 20

2. Verwendung der Basisdatentypen in C++ ... 22

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

2.2 ... Die Standard-Eingabe- und -Ausgabestreams ... 24

2.3 ... Einige Symbole von C++ ... 29

2.4 ... Grundlagen zu den Basisdatentypen ... 32

2.5 ... "auto"-Typ (C++11) ... 53

2.6 ... Rechnen mit Zahlen ... 54

2.7 ... Zufallszahlen (C++11) ... 61

2.8 ... Typumwandlung ... 62

2.9 ... Konstanten ... 71

2.10 ... Aufgaben ... 72

3. Kontrollstrukturen, Funktionen und Präprozessor-Direktiven ... 74

3.1 ... Kontrollstrukturen ... 74

3.2 ... Funktionen ... 100

3.3 ... Präprozessor-Direktiven ... 117

3.4 ... Aufgaben ... 124

4. Höhere und fortgeschrittene Datentypen ... 127

4.1 ... Zeiger ... 127

4.2 ... Referenzen ... 135

4.3 ... Arrays ... 137

4.4 ... Zeichenketten verwenden ... 146

4.5 ... Höhere Datentypen bei Funktionen verwenden ... 153

4.6 ... Dynamische Speicherobjekte ... 163

4.7 ... Strukturen ... 168

4.8 ... Union ... 177

4.9 ... Aufzählungstyp "enum" ... 178

4.10 ... Eigene Namen mit "typedef" ... 181

4.11 ... Aufgaben ... 182

5. Modularisierung ... 186

5.1 ... Namensräume ... 186

5.2 ... Speicherklassenattribute ... 195

5.3 ... Typqualifikatoren ... 199

5.4 ... Weitere Attribute ... 201

5.5 ... Modulare Programmierung ... 201

5.6 ... Aufgaben ... 207

6. Klassen ... 210

6.1 ... Abstraktionsmechanismus ... 210

6.2 ... Klassen ... 211

6.3 ... Konstruktoren ... 223

6.4 ... Destruktoren ... 236

6.5 ... Elementfunktionen ... 240

6.6 ... Aufgaben ... 246

7. Objekte und Klassenelemente ... 249

7.1 ... Konstante Objekte ... 249

7.2 ... Objekte als (Element-)Funktionsargumente ... 250

7.3 ... Objekte als Rückgabewerte ... 260

7.4 ... Arrays von Objekten ... 262

7.5 ... Dynamische Objekte ... 263

7.6 ... Mehr zu den Klassenelementen ... 265

7.7 ... Andere Klassenobjekte als Datenelement einer Klasse ... 277

7.8 ... Elementinitialisierer ... 283

7.9 ... Gute Freunde ("friend") ... 285

7.10 ... Aufgaben ... 287

8. Operatoren überladen ... 290

8.1 ... Schlüsselwort "operator" ... 291

8.2 ... Zweistellige (arithmetische) Operatoren überladen ... 293

8.3 ... Einstellige Operatoren überladen ... 299

8.4 ... Zuweisungsoperator überladen ... 303

8.5 ... Ein-/Ausgabeoperator überladen ... 305

8.6 ... Weitere Operatorüberladungen ... 308

8.7 ... Konvertierungsoperatoren ... 309

8.8 ... Aufgaben ... 314

9. Vererbung (Abgeleitete Klassen) ... 316

9.1 ... Die Vorbereitung ... 317

9.2 ... Die Ableitung einer Klasse ... 318

9.3 ... Mehrfachvererbung ... 332

9.4 ... Virtuelle Vererbung ... 336
9.5 ... Aufgaben ... 341

10. Templates ... 344

10.1 ... Funktions-Templates ... 344

10.2 ... Klassen-Templates ... 352

10.3 ... Templates der Standardbibliothek ... 360

10.4 ... Aufgaben ... 367

11. Exception-Handling (Fehlerbehandlung) ... 370

11.1 ... Exception auslösen ... 371

11.2 ... Exception auffangen und behandeln ... 371

11.3 ... Ausnahme-Klassen (Fehlerklassen) ... 377

11.4 ... Standard-Exceptions ... 379

11.5 ... System-Exceptions ... 384

11.6 ... "noexcept" (C++11) ... 385

11.7 ... Aufgaben ... 387

12. Weitere Neuigkeiten in C++11 ... 388

12.1 ... Grundsätzliche Neuerungen in der Kernsprache ... 388

12.2 ... Standardbibliothek -- neue Bibliotheken ... 397

12.3 ... Multithreading ... 406

Lösungen der Übungsaufgaben ... 412
Index ... 441
Rezensionen
»Der C++-Grundkurs überzeugt durch eingängige Erklärungen aller wichtigen Eigenschaften der Programmiersprache in einem kompakten Format.« LINUX MAGAZIN 201703
Jürgen Wolf bietet einen kompakten Einstieg in die objektorientierte Programmierung mit C++. In 12 Kapiteln inklusive Übungen erhalten Selbstlerner und Einsteiger darin eine fundierte Einführung von Basisdatentypen bis zu Vererbung. MSDN 201306