Einstieg in C++

Ideal für Programmiereinsteiger, inkl. Einführung in die objektorientierte Programmierung mit C++ und Übungsaufgaben
Sofort lieferbar | Lieferzeit: Sofort lieferbar I
ISBN-13:
9783836278638
Veröffentl:
2020
Erscheinungsdatum:
28.07.2020
Seiten:
547
Autor:
Thomas Theis
Gewicht:
1000 g
Format:
231x173x32 mm
Serie:
Rheinwerk Computing
Sprache:
Deutsch
Beschreibung:

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.
Mit Übungsaufgaben und Musterlösungen


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

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

Kunden Rezensionen

Zu diesem Artikel ist noch keine Rezension vorhanden.
Helfen sie anderen Besuchern und verfassen Sie selbst eine Rezension.