Thomas Theis

Einstieg in C++

Ideal zum Programmieren lernen. 2. Auflage
eBook (epub), 547 Seiten
EAN 9783836278652
Veröffentlicht Juli 2020
Verlag/Hersteller Rheinwerk eBooks

Auch erhältlich als:

Buch (Softcover)
24,90
24,90 inkl. MwSt.
Sofort Lieferbar (Download)
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

Technik
Sie können dieses eBook zum Beispiel mit den folgenden Geräten lesen:
• tolino Reader 
Laden Sie das eBook direkt über den Reader-Shop auf dem tolino herunter oder übertragen Sie das eBook auf Ihren tolino mit einer kostenlosen Software wie beispielsweise Adobe Digital Editions. 
• Sony Reader & andere eBook Reader 
Laden Sie das eBook direkt über den Reader-Shop herunter oder übertragen Sie das eBook mit der kostenlosen Software Sony READER FOR PC/Mac oder Adobe Digital Editions auf ein Standard-Lesegeräte. 
• Tablets & Smartphones 
Möchten Sie dieses eBook auf Ihrem Smartphone oder Tablet lesen, finden Sie hier unsere kostenlose Lese-App für iPhone/iPad und Android Smartphone/Tablets. 
• PC & Mac 
Lesen Sie das eBook direkt nach dem Herunterladen mit einer kostenlosen Lesesoftware, beispielsweise Adobe Digital Editions, Sony READER FOR PC/Mac oder direkt über Ihre eBook-Bibliothek in Ihrem Konto unter „Meine eBooks“ -  „online lesen“.
 
Bitte beachten Sie, dass die Kindle-Geräte das Format nicht unterstützen und dieses eBook somit nicht auf Kindle-Geräten lesbar ist.
Hersteller
Libri GmbH
Friedensallee 273

DE - 22763 Hamburg

E-Mail: GPSR@libri.de

Website: www.libri.de

Das könnte Sie auch interessieren

Katharina Zweig
Weiß die KI, dass sie nichts weiß?
eBook (epub)
Sofort lieferbar (Download)
16,99
Ben Aaronovitch
Ein weißer Schwan in Tabernacle Street
eBook (epub)
Sofort lieferbar (Download)
9,99
Roberto Simanowski
Sprachmaschinen
eBook (epub)
Sofort lieferbar (Download)
19,99
Yuval Noah Harari
NEXUS
eBook (epub)
Sofort lieferbar (Download)
26,99
Ruth Ware
Zero Days
eBook (epub)
Sofort lieferbar (Download)
12,99
Ingo Dachwitz
Digitaler Kolonialismus
eBook (epub)
Sofort lieferbar (Download)
21,99
Marc Elsberg
ZERO - Sie wissen, was du tust
eBook (epub)
Sofort lieferbar (Download)
10,99
Sibylle Berg
RCE
eBook (epub)
Sofort lieferbar (Download)
12,99
Sofort lieferbar (Download)
12,99
Ernest Cline
Ready Player One
eBook (epub)
Sofort lieferbar (Download)
8,99
Marc Meller
Das Smartphone
eBook (epub)
Sofort lieferbar (Download)
14,99
Ernest Cline
Ready Player Two
eBook (epub)
Sofort lieferbar (Download)
12,99
Neal Stephenson
Snow Crash
eBook (epub)
Sofort lieferbar (Download)
14,99
Max Tegmark
Leben 3.0
eBook (epub)
Sofort lieferbar (Download)
14,99
Dirk Becker
Einstieg in Linux Mint 22
eBook (epub)
Sofort lieferbar (Download)
29,90
Annekathrin Kohout
Hyperreaktiv
eBook (epub)
Sofort lieferbar (Download)
15,99
Michael Kofler
Linux
eBook (pdf)
Sofort lieferbar (Download)
49,90
Inga Strümke
Künstliche Intelligenz
eBook (epub)
Sofort lieferbar (Download)
24,90
Miriam Meckel
Alles überall auf einmal
eBook (epub)
Sofort lieferbar (Download)
4,99
Sofort lieferbar (Download)
21,99
Eric Amberg
Hacking
eBook (epub)
Sofort lieferbar (Download)
49,99
Katharina Zweig
Ein Algorithmus hat kein Taktgefühl
eBook (epub)
Sofort lieferbar (Download)
9,99
Matthias Matting
Tolino shine - das inoffizielle Handbuch.
eBook (epub)
Sofort lieferbar (Download)
2,99
Sofort lieferbar (Download)
0,00
Markus Widl
Microsoft 365 Copilot
eBook (epub)
Sofort lieferbar (Download)
29,90
Paul Zenker
GenAI Security
eBook (epub)
Sofort lieferbar (Download)
34,90
Geert Lovink
In der Plattformfalle
eBook (epub)
Sofort lieferbar (Download)
0,00
Detlef Krause
Webtexten für Nicht-Texter
eBook (epub)
Sofort lieferbar (Download)
15,99
Sofort lieferbar (Download)
0,00
Thomas Brühlmann
Raspberry Pi Pico und Pico W Schnelleinstieg
eBook (epub)
Sofort lieferbar (Download)
14,99
Sofort lieferbar (Download)
19,99
Florian Dalwigk
Python Projekte für die Praxis
eBook (epub)
Sofort lieferbar (Download)
22,99
Sybille Krämer
Der Stachel des Digitalen
eBook (epub)
Sofort lieferbar (Download)
23,99
Gene Kim
Projekt Unicorn
eBook (epub)
Sofort lieferbar (Download)
24,90
Walter Isaacson
Steve Jobs
eBook (epub)
Sofort lieferbar (Download)
12,99
Sofort lieferbar (Download)
0,00