Thomas Theis

Einstieg in C++

Ideal für Programmiereinsteiger, inkl. Einführung in die objektorientierte Programmierung mit C++ und Übungsaufgaben. 2. Auflage. 23,1 cm / 17,3 cm / 3,2 cm ( B/H/T )
Buch (Softcover), 547 Seiten
EAN 9783836278638
Veröffentlicht Juli 2020
Verlag/Hersteller Rheinwerk Verlag GmbH
Leseprobe öffnen

Auch erhältlich als:

eBook (epub)
19,92
24,90 inkl. MwSt.
Mit click & collect bis 17:10 Uhr bestellen und direkt am folgenden Werktag abholen.
Sofort lieferbar (Versand mit Deutscher Post/DHL)
Teilen
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.«

Portrait

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.

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

Hersteller
Rheinwerk Verlag GmbH
Rheinwerkallee 4

DE - 53227 Bonn

E-Mail: Info@rheinwerk-verlag.de

Das könnte Sie auch interessieren

Aldous Huxley
Zeit der Oligarchen
Buch (Hardcover)
Lieferbar innerhalb von 1-2 Wochen
14,00
Julia Ruhs
Links-grüne Meinungsmacht
Buch (Softcover)
Sofort lieferbar
20,00
Sarah Kuttner
Mama & Sam
Buch (Hardcover)
Sofort lieferbar
24,00
Katharina Zweig
Weiß die KI, dass sie nichts weiß?
Buch (Softcover)
Sofort lieferbar
20,00
Tim Berners-Lee
This Is for Everyone
Buch (Hardcover)
Sofort lieferbar
28,00
Marc-Uwe Kling
Der Tag, an dem die Oma das Internet kaputt...
Buch (Hardcover)
Sofort lieferbar
12,00
Martin Andree
Krieg der Medien
Buch (Hardcover)
Sofort lieferbar
28,00
Sofort lieferbar
3,50
Christoph Engemann
Die Zukunft des Lesens
Buch (Softcover)
Sofort lieferbar
14,00
Jörg Rieger Espind...
Windows 11 für Senioren
Buch (Softcover)
Sofort lieferbar
19,90
Cornelia Lohs
Der inoffizielle James Bond Reiseführer
Buch (Softcover)
Lieferbar innerhalb von 1-2 Wochen
19,99
Annekathrin Kohout
Hyperreaktiv
Buch (Softcover)
Sofort lieferbar
18,00
Aya Jaff
Broligarchie
Buch (Hardcover)
Lieferbar innerhalb von 1-2 Wochen
23,99
Sofort lieferbar
19,90
Frank-Michael Becker
Formelsammlung bis zum Abitur - Mathematik ...
Buch (Softcover)
Sofort lieferbar
16,50
Ursula Poznanski
Erebos 2
Buch (Hardcover)
Sofort lieferbar
19,95
Douglas Rushkoff
Survival of the Richest
Buch (Softcover)
Sofort lieferbar
22,00
Keach Hagey
Sam Altman
Buch (Hardcover)
Sofort lieferbar
28,00
Jimmy Wales
TRUST
Buch (Hardcover)
Sofort lieferbar
24,00
Johannes Knörzer
Ein Quantum Zukunft - Quantenphysik und Qua...
Buch (Softcover)
Lieferbar innerhalb von 5-7 Tagen
24,99
Vera Weidenbach
Ada Lovelace
Buch (Hardcover)
Sofort lieferbar
24,00
Ingo Dachwitz
Digitaler Kolonialismus
Buch (Hardcover)
Sofort lieferbar
28,00
Johanna Pirker
The Game is On
Buch (Hardcover)
Sofort lieferbar
26,00
Robert Klaßen
Windows 11
Buch (Softcover)
Sofort lieferbar
12,90
Lieferbar innerhalb von 1-2 Wochen
19,95
Lieferbar innerhalb von 1-2 Wochen
28,99
Rainer Hattenhauer
ChatGPT u. Co.
Buch (Softcover)
Sofort lieferbar
24,90
Tara-Louise Wittwer
Sorry, aber ...
Buch (Softcover)
Lieferbar innerhalb von 1-2 Wochen
18,00
Albert Wiedemann
Informatik (Oldenbourg) Band 7: Grundkurs ...
Buch (Hardcover)
Lieferbar innerhalb von 2 Wochen
33,50
Oliver Bock
ChatGPT - Das Praxisbuch
Buch (Softcover)
Sofort lieferbar
19,95
Steffen Mau
Triggerpunkte
Buch (Softcover)
Lieferbar innerhalb von 1-2 Wochen
25,00
Christian Immler
WhatsApp - optimal nutzen - neueste Version...
Buch (Softcover)
Sofort lieferbar
12,95
Inga Strümke
Künstliche Intelligenz
Buch (Hardcover)
Sofort lieferbar
24,90
Dirk Becker
Einstieg in Linux Mint 22
Buch (Softcover)
Sofort lieferbar
29,90
@Kriegundfreitag
Psyche, du kleiner Schlingel
Buch (Hardcover)
Sofort lieferbar
14,00
Kim Beck
Basiskurs Medienbildung.Gesamtkurs
Buch (Softcover)
Sofort lieferbar
8,00