Leseprobe herunterladen

1. Einführung

1.1 Einleitung
    1.1.1 Programmieren lernen in 14 Tagen
    1.1.2 Wie man dieses Buch liest
1.1.3 Programmtexte, Lösungen und Glossar zum Download
1.2 Über C++
1.3 Einrichten der Programmierumgebung

2. Das erste Programm: »Hello World«

2.1 Anlegen eines neuen Projekts
2.2 Der Ausgangspunkt eines Programms: main()
2.3 Zwischenspeicher: Variablen und ihre Typen
    2.3.1 Zeichenketten
    2.3.2 Zahlen
    2.3.3 Das Zusammenspiel von Variablen
2.4 Vertippt? Fehler beim Kompilieren beheben
2.5 Verständlicher Code: Schreibstil und Kommentare
    2.5.1 Englisch als Programmierstandard
    2.5.2 Coding Style
    2.5.3 Kommentare
2.6 Übungen
    2.6.1 Mehrsprachiges Hello World
    2.6.2 Der Papagei
    2.6.3 Rechnen mit Ganzzahlen
    2.6.4 Fehler im Code
    2.6.5 Codeausschnitte

3. Kontrollfluss: Wenn nicht jetzt, wann dann?

3.1 Booleans und if/else: Verzweigungen im Programm
3.2 while: Wiederholen von Anweisungen
3.3 for: Eine Liste durchgehen
3.3.1 Mit Listen arbeiten
3.4 for-each: Vereinfachter Zugriff
    3.4.1 Listen erweitern
    3.4.2 Strings Zeichen für Zeichen durchgehen
3.5 Initialisierung und Gültigkeitsbereich von Variablen
3.6 switch/case: Eine Liste von Bedingungen
3.7 Die Sache mit der break-Anweisung
3.8 Übungen
    3.8.1 Von while zu for übersetzen
    3.8.2 Eine Runde rückwärts
    3.8.3 Vokalzählung mit switch/case
    3.8.4 Bis in alle Ewigkeit
    3.8.5 Schleifen ersparen Tipparbeit
    3.8.6 Der Quiz-Master

4. Funktionen

4.1 Die Signatur: Aussehen und Schnittstelle einer Funktion
4.2 Referenzen und Konstanten
4.3 Zwischenprojekt: Konzertbuchungssystem
4.4 Rekursion: Russische Holzpüppchen
4.5 Überladen ohne Bußgeld
4.6 Übungen
    4.6.1 Integer zu Strings
    4.6.2 Join me!
    4.6.3 Join me as well!
    4.6.4 Wir haben ein Date
    4.6.5 Die Suche verbessern
    4.6.6 Noch ‘ne Runde rückwärts

5. Die Standard Library und weitere Standardfunktionalitäten

5.1 Textarbeit und Sonderzeichen
    5.1.1 Texte kombinieren
    5.1.2 Sonderzeichen in Texten
5.2 Texte durchsuchen und aufteilen
5.3 Parsing: Informationen aus Strings extrahieren
5.4 Casten: In andere Typen umwandeln
5.5 Map: Ein weiterer Standardcontainer
    5.5.1 Zwischenprojekt: Umlaute mit std::map umwandeln
5.6 Arrays: Container aus der Zeit von C
5.7 Übungen
    5.7.1 Lagerregal
    5.7.2 Ampel-Lampe
    5.7.3 Das Mathegenie
    5.7.4 Charakterstudie
    5.7.5 Erbsenzähler

6. Objektorientiertes Programmieren: Die Grundlagen

6.1 Die erste Vorstufe: enum
6.2 Die zweite Vorstufe: struct
6.3 Klassen und Objekte
6.4 Methoden in einer Klasse
6.5 Übungen
    6.5.1 Schau mir in die Augen
    6.5.2 Das Auto
    6.5.3 Blockbuster
    6.5.4 Beehren Sie uns bald wieder

7. Weiterführende Objektorientierung

7.1 Versteckspiel mit public und private
7.2 Klassenhierarchien
7.3 virtual und override: Virtuelle Methoden
7.4 Const-Methoden
7.5 Übungen
    7.5.1 Fuhrpark
    7.5.2 Tierhierarchie
    7.5.3 Digitales Warenhaus
    7.5.4 Preismacht

8. Grafische Oberflächen: GUI-Programmierung

8.1 Bibliotheken mittels vcpkg einbinden
8.2 Ein GUI-»Hello World«
8.3 Callbacks: Auf Klicks reagieren
8.4 Zwischenprojekt: Die Karteikasten-Lerntechnik
8.5 Einen bleibenden Eindruck hinterlassen: Arbeiten mit Dateien
8.6 Programme ausliefern
8.7 Übungen
    8.7.1 Die Ausgabe ausschalten
    8.7.2 Der An- und Ausschalter
    8.7.3 Maus im Haus
    8.7.4 Nicht so pedantisch!

9. Fortgeschrittene Konzepte

9.1 Bitte ein Byte: Binärcodierung im Arbeitsspeicher
9.2 Zeiger
    9.2.1 Zeiger definieren
    9.2.2 Inhalt eines Zeiger auslesen
    9.2.3 Speicher wieder freigeben
    9.2.4 Zusammenfassung
9.3 … und was man stattdessen benutzt: Smart Pointer
9.4 Exceptions: Mit Fehlern um sich werfen
    9.4.1 Besondere Rückgabewerte
9.5 Code auf mehrere Dateien aufteilen
9.6 Übungen
    9.6.1 Wie viel Byte?
    9.6.2 Zeigerfehler
    9.6.3 Wiederholungstäter
    9.6.4 Deklarationen und Definitionen

10. Fortgeschrittene Objektorientierung

10.1 Destruktor: Der Lebenszyklus eines Objekts
10.2 Zeiger und virtuelle Methoden
10.3 Abstrakte Klassen
10.4 Übungen
    10.4.1 Mit besten Referenzen
    10.4.2 Gigafabrik
    10.4.3 Teststrecke

11. Das große weite Netz

11.1 Befehle absetzen: Wie man in den Wald hineinruft …
11.2 … so schallt es heraus: Antworten verarbeiten
11.3 JSON: Standardformate verarbeiten
11.4 Zwischenprojekt: Wikipedia-Viewer
    11.4.1 Bilder abfragen und anzeigen
11.5 Serialisierung und Deserialisierung
11.6 Übungen
    11.6.1 Fehlercodes
    11.6.2 Buchladen Jason
    11.6.3 Ihr freundlicher Buchladen im Internet

12. Multitasking am Computer

12.1 Berechnungen im Hintergrund: Threads
12.2 Daten zwischen Threads austauschen
12.3 Übung: Schweigen ist Gold

13. Fehlersuche leicht gemacht: Debugging

13.1 printf-Debugging
13.2 Logdateien
13.3 Der Debugger
13.4 Übungen
    13.4.1 Logger-Klasse
    13.4.2 Breakpoint-Navigation

14. Der Alltag eines Programmierers

14.1 Internetrecherche
14.2 Softwaretesting
14.3 Softwareentwicklung im Team
14.4 Übungen
    14.4.1 Test-Driven Test Driver
    14.4.2 Verzähl mir nix von User Stories!
    14.4.3 Spaziergang