Zum Hauptinhalt springen
Dekorationsartikel gehören nicht zum Leistungsumfang.
Einstieg in C++
Ideal für Programmiereinsteiger, inkl. Einführung in die objektorientierte Programmierung mit C++ und Übungsaufgaben
Taschenbuch von Thomas Theis
Sprache: Deutsch

24,90 €*

inkl. MwSt.

Versandkostenfrei per Post / DHL

auf Lager, Lieferzeit 1-2 Werktage

Kategorien:
Beschreibung

Mit diesem Buch gelingt Ihnen der Einstieg in die C++-Entwicklung mühelos. Anschauliche Erklärungen, praxisnahe Beispiele und Übungen begleiten Sie von den ersten Schritten bis zum fertigen Programm. Sie lernen alle wichtigen Themen wie Vererbung, Objektorientierung, Polymorphie, GUI-Entwicklung und Datenbanken. Kenntnisse in C oder einer anderen Sprache werden nicht vorausgesetzt.

Aus dem Inhalt:

  • Sprachgrundlagen
  • Referenzen und Pointer
  • Objektorientierte Programmierung
  • Vererbung und Polymorphie
  • Moderne Bibliotheken: chrono, random, thread, filesystem
  • Arbeiten mit Containern
  • GUI-Entwicklung mit Qt
  • Datenbanken mit SQLite verwalten

Die Fachpresse zur Vorauflage:

iX - Magazin für professionelle Informationstechnik: »Wer C++ lernen will oder eine Auffrischung auf C++11 benötigt, dürfte Gefallen an dem knapp 520 Seiten starken Lehrbuch finden.«

Mit diesem Buch gelingt Ihnen der Einstieg in die C++-Entwicklung mühelos. Anschauliche Erklärungen, praxisnahe Beispiele und Übungen begleiten Sie von den ersten Schritten bis zum fertigen Programm. Sie lernen alle wichtigen Themen wie Vererbung, Objektorientierung, Polymorphie, GUI-Entwicklung und Datenbanken. Kenntnisse in C oder einer anderen Sprache werden nicht vorausgesetzt.

Aus dem Inhalt:

  • Sprachgrundlagen
  • Referenzen und Pointer
  • Objektorientierte Programmierung
  • Vererbung und Polymorphie
  • Moderne Bibliotheken: chrono, random, thread, filesystem
  • Arbeiten mit Containern
  • GUI-Entwicklung mit Qt
  • Datenbanken mit SQLite verwalten

Die Fachpresse zur Vorauflage:

iX - Magazin für professionelle Informationstechnik: »Wer C++ lernen will oder eine Auffrischung auf C++11 benötigt, dürfte Gefallen an dem knapp 520 Seiten starken Lehrbuch finden.«

Über den Autor
Thomas Theis ist Dipl.-Ing. für Technische Informatik und arbeitet als Berater und Trainer. Seit vielen Jahren gibt er als EDV-Dozent Kurse in verschiedenen Programmiersprachen. Er ist Autor vieler erfolgreicher Fachbücher.
Zusammenfassung
Mit Übungsaufgaben und Musterlösungen
Inhaltsverzeichnis
Materialien zum Buch ... 17

1. Eine erste Einführung ... 19

1.1 ... Was machen wir mit C++? ... 19

1.2 ... Was benötige ich zum Programmieren? ... 20

1.3 ... Die Entwicklung von C++ ... 20

1.4 ... So sieht das erste Programm aus ... 21

1.5 ... Kommentieren Sie Ihre Programme ... 22

2. Arbeiten mit Zahlen und Operatoren ... 25

2.1 ... Wie speichere ich Zahlen? ... 25

2.2 ... Rechnen mit Operatoren ... 27

2.3 ... Fehler suchen ... 29

2.4 ... Wie können Daten eingegeben werden? ... 31

2.5 ... Zahlen formatieren mit Manipulatoren ... 33

2.6 ... Zuweisungen kürzer schreiben ... 34

2.7 ... Übung ... 36

2.8 ... Mehr über die Speicherung von Zahlen ... 37

2.9 ... Feste Werte in Konstanten speichern ... 41

2.10 ... Konstanten in Enumerationen zusammenfassen ... 42

2.11 ... Zahlensysteme ... 43

2.12 ... Initialisierung ... 45

2.13 ... Wie erzeuge ich zufällige Zahlen? ... 47

2.14 ... Übung ... 48

3. Mehrere Zweige in einem Programm ... 49

3.1 ... Zwei Zweige mit 'if' und 'else' ... 49

3.2 ... Bedingungen benötigen Vergleiche ... 51

3.3 ... Mehr als zwei Zweige ... 53

3.4 ... Wie kann ich Bedingungen kombinieren? ... 55

3.5 ... Zweige zusammenfassen mit 'switch' und 'case' ... 57

3.6 ... Was ist mit dem Rest? ... 58

3.7 ... Welcher Operator hat Vorrang? ... 59

3.8 ... Übungen ... 60

3.9 ... Wie speichere ich Wahrheitswerte? ... 63

3.10 ... Die Kurzform: der bedingte Ausdruck ... 65

4. Teile von Programmen wiederholen ... 67

4.1 ... Regelmäßige Wiederholungen mit 'for' ... 67

4.2 ... Wiederholungen für einen Bereich ... 70

4.3 ... Bedingte Wiederholungen mit 'do-while' ... 71

4.4 ... Besser vorher prüfen mit 'while' ... 72

4.5 ... Wiederholungen abbrechen oder fortsetzen ... 73

4.6 ... Die Wiederholung der Wiederholung ... 75

4.7 ... Übungen ... 76

5. Programme aufteilen in Funktionen ... 79

5.1 ... So schreibe ich eine eigene Funktion ... 79

5.2 ... Wie übergebe ich Daten? ... 81

5.3 ... Wie erhalte ich ein Ergebnis zurück? ... 87

5.4 ... Mehr Ordnung im Programm ... 88

5.5 ... Statische Variablen behalten ihren Wert ... 90

5.6 ... Fehler suchen ... 91

5.7 ... Übungen ... 92

5.8 ... Standardwerte vorgeben ... 93

5.9 ... Beliebig viele Parameter ... 94

5.10 ... Funktionen mehrfach definieren ... 96

5.11 ... Funktionen, die sich selbst aufrufen ... 98

5.12 ... Anonyme Funktionen ... 99

5.13 ... Funktionen als Parameter ... 105

6. Große Datenmengen speichern in Feldern ... 109

6.1 ... Wie werden Felder unterschieden? ... 109

6.2 ... Einfache Felder mit fester Größe ... 110

6.3 ... Intelligente Felder mit fester Größe ... 111

6.4 ... Ausnahmen behandeln ... 113

6.5 ... Einfache und intelligente Zeiger ... 115

6.6 ... Intelligente Felder mit variabler Größe ... 122

6.7 ... Felder initialisieren ... 124

6.8 ... Felder als Parameter ... 125

6.9 ... Daten in mehreren Dimensionen speichern ... 127

6.10 ... Übungen ... 131

7. Arbeiten mit Zeichen und Texten ... 133

7.1 ... Einzelne Zeichen ... 133

7.2 ... Einfache Zeichenketten ... 134

7.3 ... Intelligente Zeichenketten: Strings ... 137

7.4 ... Wie wandle ich Zahlen in Strings um? ... 143

7.5 ... Wie verarbeite ich Eingaben? ... 144

7.6 ... Felder von Zeichenketten ... 147

7.7 ... Suchen und Ersetzen ... 149

7.8 ... Übungen ... 154

8. Daten in Strukturen zusammenfassen ... 157

8.1 ... Wie speichere ich zusammengehörige Daten? ... 157

8.2 ... Besser einen Typ definieren ... 159

8.3 ... Strukturen und Felder ... 161

8.4 ... Strukturen und Funktionen ... 165

8.5 ... Eine Hierarchie von Strukturen ... 170

8.6 ... Übung ... 172

9. Vorhandene Funktionen nutzen ... 175

9.1 ... Umgang mit Datum und Uhrzeit ... 175

9.2 ... Bessere zufällige Zahlen ... 181

9.3 ... Mehrere Threads zur gleichen Zeit ... 184

9.4 ... Nützliche mathematische Funktionen ... 193

9.5 ... Übungen ... 202

9.6 ... Rechnen mit komplexen Zahlen ... 203

9.7 ... Daten mit dem Betriebssystem austauschen ... 210

9.8 ... Zugriff auf Dateien und Verzeichnisse ... 219

10. Eigene Klassen entwerfen ... 237

10.1 ... Klassen umfassen Eigenschaften und Methoden ... 237

10.2 ... Schützen Sie die Daten ... 240

10.3 ... Wie erzeuge und lösche ich Objekte? ... 244

10.4 ... Statische Elemente einer Klasse ... 248

10.5 ... Wie überlade ich Operatoren? ... 252

10.6 ... Objekte und Felder ... 256

10.7 ... Objekte ausgeben ... 260

10.8 ... Eigenschaften können Objekte sein ... 262

10.9 ... Übungen ... 264

11. Vererbung und Polymorphie ... 269

11.1 ... Basisklasse und abgeleitete Klassen ... 269

11.2 ... Welche Elemente sind an welcher Stelle erreichbar? ... 276

11.3 ... Konstruktoren in abgeleiteten Klassen ... 277

11.4 ... Was bedeutet Polymorphie? ... 281

11.5 ... Erben von mehreren Klassen ... 284

12. Datenströme verarbeiten ... 289

12.1 ... Sequenzielles Schreiben und Lesen ... 289

12.2 ... Schreiben und Lesen an beliebiger Stelle ... 296

12.3 ... Wie leiten Sie Datenströme? ... 305

12.4 ... Wie ist das CSV-Format zum Austausch aufgebaut? ... 308

12.5 ... Übung ... 315

13. Container sind vielfältige Datenstrukturen ... 319

13.1 ... Wie durchlaufe ich Container? ... 320

13.2 ... Intelligente Felder mit fester Größe ... 322

13.3 ... Intelligente Felder mit variabler Größe ... 326

13.4 ... Eine Warteschlange mit zwei Enden ... 330

13.5 ... Daten in Listen verketten ... 334

13.6 ... Drei einfache Container ... 344

13.7 ... Zwei nützliche Typen ... 351

13.8 ... Eine Menge von Elementen ... 355

13.9 ... Schlüssel und Werte in einer Map ... 362

13.10 ... Algorithmen für Bereiche ... 369

13.11 ... Mengenlehre ... 374

13.12 ... Eine Menge von Bits ... 378

14. Mehr zu eigenen Klassen ... 383

14.1 ... Objekte initialisieren, kopieren und erzeugen ... 383

14.2 ... Klassen können Freunde haben ... 386

14.3 ... Namen müssen eindeutig sein ... 389

14.4 ... Fehler behandeln mit Ausnahmen ... 392

14.5 ... Innere Klassen ... 400

14.6 ... Templates sind Vorlagen ... 402

15. Präprozessor-Anweisungen ... 409

15.1 ... Einbinden von Dateien ... 409

15.2 ... Definitionen und Makros ... 410

15.3 ... Definitionen und Verzweigungen ... 412

15.4 ... Eine Systemweiche ... 414

16. Grafische Benutzeroberflächen mit der Qt-Bibliothek ... 417

16.1 ... Die erste GUI-Anwendung ... 418

16.2 ... Ein einfacher Kopfrechentrainer ... 429

16.3 ... Ein erweiterter Kopfrechentrainer ... 434

16.4 ... Weitere Widgets ... 441

17. Datenbanken mit SQLite verwalten ... 449

17.1 ... Der Aufbau einer Datenbank ... 449

17.2 ... Wie erzeuge ich Datenbank und Tabelle? ... 450

17.3 ... Wie speichere ich Daten in einer Tabelle? ... 455

17.4 ... So zeige ich alle Daten einer Tabelle an ... 457

17.5 ... Wie wähle ich bestimmte Daten aus? ... 460

17.6 ... Der Benutzer wählt Daten aus ... 464

17.7 ... Daten sollten sortiert werden ... 465

17.8 ... Wie ändere ich Daten? ... 466

17.9 ... Vorsicht beim Löschen von Daten ... 468

17.10 ... Eine Datenbank mit mehreren Tabellen ... 469

17.11 ... Projekt Vokabeln ... 476

17.12 ... Übung ... 497

Anhang ... 501

A ... Installationen ... 501

B ... Hilfestellungen und Übersichten ... 525

Index ... 531
Details
Erscheinungsjahr: 2020
Fachbereich: Programmiersprachen
Genre: Informatik
Rubrik: Naturwissenschaften & Technik
Medium: Taschenbuch
Reihe: Rheinwerk Computing
Inhalt: 547 S.
ISBN-13: 9783836278638
ISBN-10: 3836278634
Sprache: Deutsch
Herstellernummer: 459/07863
Einband: Klappenbroschur
Autor: Theis, Thomas
Auflage: 2. Auflage
Hersteller: Rheinwerk Verlag GmbH
Maße: 231 x 173 x 32 mm
Von/Mit: Thomas Theis
Erscheinungsdatum: 28.07.2020
Gewicht: 1 kg
Artikel-ID: 118270927
Über den Autor
Thomas Theis ist Dipl.-Ing. für Technische Informatik und arbeitet als Berater und Trainer. Seit vielen Jahren gibt er als EDV-Dozent Kurse in verschiedenen Programmiersprachen. Er ist Autor vieler erfolgreicher Fachbücher.
Zusammenfassung
Mit Übungsaufgaben und Musterlösungen
Inhaltsverzeichnis
Materialien zum Buch ... 17

1. Eine erste Einführung ... 19

1.1 ... Was machen wir mit C++? ... 19

1.2 ... Was benötige ich zum Programmieren? ... 20

1.3 ... Die Entwicklung von C++ ... 20

1.4 ... So sieht das erste Programm aus ... 21

1.5 ... Kommentieren Sie Ihre Programme ... 22

2. Arbeiten mit Zahlen und Operatoren ... 25

2.1 ... Wie speichere ich Zahlen? ... 25

2.2 ... Rechnen mit Operatoren ... 27

2.3 ... Fehler suchen ... 29

2.4 ... Wie können Daten eingegeben werden? ... 31

2.5 ... Zahlen formatieren mit Manipulatoren ... 33

2.6 ... Zuweisungen kürzer schreiben ... 34

2.7 ... Übung ... 36

2.8 ... Mehr über die Speicherung von Zahlen ... 37

2.9 ... Feste Werte in Konstanten speichern ... 41

2.10 ... Konstanten in Enumerationen zusammenfassen ... 42

2.11 ... Zahlensysteme ... 43

2.12 ... Initialisierung ... 45

2.13 ... Wie erzeuge ich zufällige Zahlen? ... 47

2.14 ... Übung ... 48

3. Mehrere Zweige in einem Programm ... 49

3.1 ... Zwei Zweige mit 'if' und 'else' ... 49

3.2 ... Bedingungen benötigen Vergleiche ... 51

3.3 ... Mehr als zwei Zweige ... 53

3.4 ... Wie kann ich Bedingungen kombinieren? ... 55

3.5 ... Zweige zusammenfassen mit 'switch' und 'case' ... 57

3.6 ... Was ist mit dem Rest? ... 58

3.7 ... Welcher Operator hat Vorrang? ... 59

3.8 ... Übungen ... 60

3.9 ... Wie speichere ich Wahrheitswerte? ... 63

3.10 ... Die Kurzform: der bedingte Ausdruck ... 65

4. Teile von Programmen wiederholen ... 67

4.1 ... Regelmäßige Wiederholungen mit 'for' ... 67

4.2 ... Wiederholungen für einen Bereich ... 70

4.3 ... Bedingte Wiederholungen mit 'do-while' ... 71

4.4 ... Besser vorher prüfen mit 'while' ... 72

4.5 ... Wiederholungen abbrechen oder fortsetzen ... 73

4.6 ... Die Wiederholung der Wiederholung ... 75

4.7 ... Übungen ... 76

5. Programme aufteilen in Funktionen ... 79

5.1 ... So schreibe ich eine eigene Funktion ... 79

5.2 ... Wie übergebe ich Daten? ... 81

5.3 ... Wie erhalte ich ein Ergebnis zurück? ... 87

5.4 ... Mehr Ordnung im Programm ... 88

5.5 ... Statische Variablen behalten ihren Wert ... 90

5.6 ... Fehler suchen ... 91

5.7 ... Übungen ... 92

5.8 ... Standardwerte vorgeben ... 93

5.9 ... Beliebig viele Parameter ... 94

5.10 ... Funktionen mehrfach definieren ... 96

5.11 ... Funktionen, die sich selbst aufrufen ... 98

5.12 ... Anonyme Funktionen ... 99

5.13 ... Funktionen als Parameter ... 105

6. Große Datenmengen speichern in Feldern ... 109

6.1 ... Wie werden Felder unterschieden? ... 109

6.2 ... Einfache Felder mit fester Größe ... 110

6.3 ... Intelligente Felder mit fester Größe ... 111

6.4 ... Ausnahmen behandeln ... 113

6.5 ... Einfache und intelligente Zeiger ... 115

6.6 ... Intelligente Felder mit variabler Größe ... 122

6.7 ... Felder initialisieren ... 124

6.8 ... Felder als Parameter ... 125

6.9 ... Daten in mehreren Dimensionen speichern ... 127

6.10 ... Übungen ... 131

7. Arbeiten mit Zeichen und Texten ... 133

7.1 ... Einzelne Zeichen ... 133

7.2 ... Einfache Zeichenketten ... 134

7.3 ... Intelligente Zeichenketten: Strings ... 137

7.4 ... Wie wandle ich Zahlen in Strings um? ... 143

7.5 ... Wie verarbeite ich Eingaben? ... 144

7.6 ... Felder von Zeichenketten ... 147

7.7 ... Suchen und Ersetzen ... 149

7.8 ... Übungen ... 154

8. Daten in Strukturen zusammenfassen ... 157

8.1 ... Wie speichere ich zusammengehörige Daten? ... 157

8.2 ... Besser einen Typ definieren ... 159

8.3 ... Strukturen und Felder ... 161

8.4 ... Strukturen und Funktionen ... 165

8.5 ... Eine Hierarchie von Strukturen ... 170

8.6 ... Übung ... 172

9. Vorhandene Funktionen nutzen ... 175

9.1 ... Umgang mit Datum und Uhrzeit ... 175

9.2 ... Bessere zufällige Zahlen ... 181

9.3 ... Mehrere Threads zur gleichen Zeit ... 184

9.4 ... Nützliche mathematische Funktionen ... 193

9.5 ... Übungen ... 202

9.6 ... Rechnen mit komplexen Zahlen ... 203

9.7 ... Daten mit dem Betriebssystem austauschen ... 210

9.8 ... Zugriff auf Dateien und Verzeichnisse ... 219

10. Eigene Klassen entwerfen ... 237

10.1 ... Klassen umfassen Eigenschaften und Methoden ... 237

10.2 ... Schützen Sie die Daten ... 240

10.3 ... Wie erzeuge und lösche ich Objekte? ... 244

10.4 ... Statische Elemente einer Klasse ... 248

10.5 ... Wie überlade ich Operatoren? ... 252

10.6 ... Objekte und Felder ... 256

10.7 ... Objekte ausgeben ... 260

10.8 ... Eigenschaften können Objekte sein ... 262

10.9 ... Übungen ... 264

11. Vererbung und Polymorphie ... 269

11.1 ... Basisklasse und abgeleitete Klassen ... 269

11.2 ... Welche Elemente sind an welcher Stelle erreichbar? ... 276

11.3 ... Konstruktoren in abgeleiteten Klassen ... 277

11.4 ... Was bedeutet Polymorphie? ... 281

11.5 ... Erben von mehreren Klassen ... 284

12. Datenströme verarbeiten ... 289

12.1 ... Sequenzielles Schreiben und Lesen ... 289

12.2 ... Schreiben und Lesen an beliebiger Stelle ... 296

12.3 ... Wie leiten Sie Datenströme? ... 305

12.4 ... Wie ist das CSV-Format zum Austausch aufgebaut? ... 308

12.5 ... Übung ... 315

13. Container sind vielfältige Datenstrukturen ... 319

13.1 ... Wie durchlaufe ich Container? ... 320

13.2 ... Intelligente Felder mit fester Größe ... 322

13.3 ... Intelligente Felder mit variabler Größe ... 326

13.4 ... Eine Warteschlange mit zwei Enden ... 330

13.5 ... Daten in Listen verketten ... 334

13.6 ... Drei einfache Container ... 344

13.7 ... Zwei nützliche Typen ... 351

13.8 ... Eine Menge von Elementen ... 355

13.9 ... Schlüssel und Werte in einer Map ... 362

13.10 ... Algorithmen für Bereiche ... 369

13.11 ... Mengenlehre ... 374

13.12 ... Eine Menge von Bits ... 378

14. Mehr zu eigenen Klassen ... 383

14.1 ... Objekte initialisieren, kopieren und erzeugen ... 383

14.2 ... Klassen können Freunde haben ... 386

14.3 ... Namen müssen eindeutig sein ... 389

14.4 ... Fehler behandeln mit Ausnahmen ... 392

14.5 ... Innere Klassen ... 400

14.6 ... Templates sind Vorlagen ... 402

15. Präprozessor-Anweisungen ... 409

15.1 ... Einbinden von Dateien ... 409

15.2 ... Definitionen und Makros ... 410

15.3 ... Definitionen und Verzweigungen ... 412

15.4 ... Eine Systemweiche ... 414

16. Grafische Benutzeroberflächen mit der Qt-Bibliothek ... 417

16.1 ... Die erste GUI-Anwendung ... 418

16.2 ... Ein einfacher Kopfrechentrainer ... 429

16.3 ... Ein erweiterter Kopfrechentrainer ... 434

16.4 ... Weitere Widgets ... 441

17. Datenbanken mit SQLite verwalten ... 449

17.1 ... Der Aufbau einer Datenbank ... 449

17.2 ... Wie erzeuge ich Datenbank und Tabelle? ... 450

17.3 ... Wie speichere ich Daten in einer Tabelle? ... 455

17.4 ... So zeige ich alle Daten einer Tabelle an ... 457

17.5 ... Wie wähle ich bestimmte Daten aus? ... 460

17.6 ... Der Benutzer wählt Daten aus ... 464

17.7 ... Daten sollten sortiert werden ... 465

17.8 ... Wie ändere ich Daten? ... 466

17.9 ... Vorsicht beim Löschen von Daten ... 468

17.10 ... Eine Datenbank mit mehreren Tabellen ... 469

17.11 ... Projekt Vokabeln ... 476

17.12 ... Übung ... 497

Anhang ... 501

A ... Installationen ... 501

B ... Hilfestellungen und Übersichten ... 525

Index ... 531
Details
Erscheinungsjahr: 2020
Fachbereich: Programmiersprachen
Genre: Informatik
Rubrik: Naturwissenschaften & Technik
Medium: Taschenbuch
Reihe: Rheinwerk Computing
Inhalt: 547 S.
ISBN-13: 9783836278638
ISBN-10: 3836278634
Sprache: Deutsch
Herstellernummer: 459/07863
Einband: Klappenbroschur
Autor: Theis, Thomas
Auflage: 2. Auflage
Hersteller: Rheinwerk Verlag GmbH
Maße: 231 x 173 x 32 mm
Von/Mit: Thomas Theis
Erscheinungsdatum: 28.07.2020
Gewicht: 1 kg
Artikel-ID: 118270927
Warnhinweis

Ähnliche Produkte

Ähnliche Produkte