Zurück

In den Warenkorb

Empfehlung per E-Mail versenden

Probeexemplar anfordern

Gerne schicken wir Ihnen ein Probeexemplar an die angegeben Adresse.
Einstieg in C++

Einstieg in C++

Ideal für Programmiereinsteiger, inkl. Einführung in die objektorientierte Programmierung mit C++ und Übungsaufgaben

vonTheis, Thomas
Deutsch, Erscheinungstermin 28.07.2020
lieferbar

Buch (broschiert)

24,90 €
(inkl. MwSt.)

eBook (EPUB ohne DRM)

24,90 €
(inkl. MwSt.)
Mit Übungsaufgaben und Musterlösungen

Informationen zum Titel

978-3-8362-7863-8
Bonn
28.07.2020
2020
2
2. Auflage
Buch (broschiert)
1000 g
547
173 mm x 231 mm x 32 mm
Color of cover: Black, Color of cover: Grey, Color of cover: Silver, Color of cover: White, Bonn
Deutsch
Programmier- und Skriptsprachen, allgemein, Informatik, Informationstechnik (IT), allgemeine Themen



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

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 diesem Kurs lässt sich die objektorientierte Programmiersprache unter macOS, Linux und Windows schrittweise erlernen.« (04/2021)
Kundenmitteilung
EU-Datenschutzgrundverordnung

Die DSGVO stärkt die Datenschutzrechte europaweit für uns alle. Bei vub haben wir aus diesem Anlass unsere Datenschutzerklärung grundlegend verändert:

  • Wir stellen noch übersichtlicher dar, wie und wofür wir personenbezogene Daten verarbeiten (wenn überhaupt, denn das Verwerten Ihrer persönlichen Daten ist überhaupt nicht unser Geschäft!).
  • Wir informieren in unserer neuen Datenschutzerklärung über die Kundenrechte.
  • Wir haben die Datenschutzerklärung übersichtlicher gestaltet.
  • Ab dem 25. Mai 2018 können Sie in Ihrem Kundenkonto im Menü unter „mein vub - Einstellungen“ den gewünschten Datenschutz selbst einstellen.

Bei Fragen wenden Sie sich bitte jederzeit an unseren vub-Kundenservice und Ihre bekannten Ansprechpartner unter premiumservice@vub.de.

Bestätigung