Sie sind hier
E-Book

C++

eine Einführung

AutorUlrich Breymann
VerlagCarl Hanser Fachbuchverlag
Erscheinungsjahr2016
Seitenanzahl398 Seiten
ISBN9783446449121
FormatPDF
KopierschutzWasserzeichen/DRM
GerätePC/MAC/eReader/Tablet
Preis9,99 EUR
In diesem Buch finden Sie alles, was Sie für den Einstieg brauchen - im praktischen Taschenbuchformat! Die vielen Beispiele sind leicht nachzuvollziehen. Dabei werden die seit C++11 und C++14 verfügbaren neuen Möglichkeiten genutzt. Die Beispiele sind zum großen Teil Spiele. So lernen Sie nicht nur die objektorientierte Programmierung kennen, sondern auch den ersten Umgang mit Mausklicks und Grafik, obwohl Grafik kein Bestandteil des C++-Standards ist. Das ist für diejenigen, die keine Spiele programmieren wollen, kein Nachteil. Spiele sind als realistische Anwendungen von C++ einfach interessanter als beliebige andere Beispiele. Am Ende vieler Kapitel gibt es ein C++-Quiz (mit Lösungen) zur Prüfung des Verständnisses.
Das Buch ist nicht nur für angehende Softwareentwickler, sondern auch für Studierende technischer Fächer ein idealer Einstieg.
Softwareentwicklung ist nicht nur Schreiben eines irgendwie funktionierenden Programms. Deshalb gibt es viele Tipps für einen guten Programmierstil, die die Qualität eines Programms erhöhen. Auch wird auf Fallstricke hingewiesen und wie man sie vermeidet.
Aus dem Inhalt:
Das erste Programm!
Grunddatentypen: Zahlen und Zeichen
Zahlen raten - Kontrollstrukturen zur Steuerung des Ablaufs
Ein- und Ausgabe, auch mit Dateien
Aufgaben strukturieren mit Funktionen
Das Spielfeld - Arrays und Vektoren
Beispiel TicTacToe
Spieler, Würfel und Klassen - objektorientierte Programmierung Grafik mit C++
Ereignisgesteuerte Programmierung
Bewegte Grafik
Dynamische Speicherplatzbeschaffung
Vererbung und Polymorphismus
TicTacToe reloaded
Fehlerbehandlung
Interaktives Spiel mit Grafik und Sound
Überladen von Operatoren
Die C++-Standardbibliothek
Templates Container, Iteratoren und Algorithmen

Professor Dr. Ulrich Breymann war in der Industrie und in der Raumfahrttechnik tätig und lehrte Informatik an der Hochschule Bremen. Er arbeitete an dem ersten C++-Standard mit und ist ein bekannter Autor zu den Themen C++, STL und Java ME. Aus seiner Tätigkeit in Industrie und Hochschule weiß er genau, worauf es bei der Softwareentwicklung ankommt. Er stellt komplexe Sachverhalte verständlich dar und legt Wert auf eine Programmiermethodik, die den Ansprüchen an hochqualitative Software gerecht wird. Die Internetseite zu seinem C++-Buch ist cppbuch.de.

Kaufen Sie hier:

Horizontale Tabs

Blick ins Buch
Inhaltsverzeichnis
Inhalt6
Vorwort14
1 Erste Grundlagen16
1.1 Historisches16
1.2 Die Programmiersprache C++ und die Maschine17
1.3 Werkzeuge zum Programmieren19
1.3.1 Der Editor19
1.3.2 Der Compiler20
1.4 Die Beispiele21
1.5 Wo gibt es Hilfe?21
1.6 Das erste Programm!22
1.6.1 Fehlermeldungen25
1.7 Eingaben und Kommentare27
1.7.1 Kommentare und Namen29
1.8 Zahltypen und -bereiche30
1.8.1 Ganze Zahlen30
1.8.2 Kommazahlen34
1.8.3 Bit-Operatoren0
1.8.4 Vorsicht Falle: Umwandlung des Zahltyps36
1.9 Zeichen und Zeichenketten39
1.9.1 Eingabe42
1.9.2 Zeichen und Zahlen44
1.10 C++-Quiz45
2 Zahlen raten – Kontrollstrukturen anwenden48
2.1 Fallunterscheidung mit if48
2.1.1 Vergleichsoperatoren50
2.1.2 Logische Verknüpfungen51
2.1.3 Bedingungsoperator53
2.1.4 if und Fehler bei der Eingabe54
2.1.5 Fehler in Verbindung mit if56
2.1.6 C++-Quiz57
2.2 Wiederholungen58
2.2.1 while-Schleife58
2.2.2 do-while-Schleife60
2.2.3 for-Schleife62
2.2.4 Abbruch mit break63
2.2.5 Abbruch mit boolescher Variable64
2.2.6 continue – zurück an den Anfang64
2.2.7 C++-Quiz65
2.3 Der Zufall kommt ins Spiel67
2.3.1 Bereich für Zufallszahlen definieren70
2.4 Konstante72
2.5 Auswahl mit switch74
2.6 Aufzählungstyp77
2.7 C++-Quiz79
3 Ein- und Ausgabe80
3.1 Standardein- und -ausgabe81
3.1.1 Umleitung auf Betriebssystemebene82
3.2 Ein- und Ausgabe mit Dateien83
3.2.1 Schreiben einer Textdatei (Spielerdatenbank)83
3.2.2 Einlesen der Spielerdatenbank85
3.2.3 Binärdatei87
3.3 Formatierung der Ausgabe89
3.4 C++-Quiz90
4 Aufgaben strukturieren92
4.1 Deklaration und Definition93
4.1.1 Übergabe per Wert94
4.1.2 Überladen einer Funktion96
4.2 Trennung von Schnittstelle und Implementation97
4.2.1 Namensräume101
4.2.2 Präprozessoranweisungen102
4.3 Übergabe per Referenz103
4.4 Dateiübergreifende Sichtbarkeit105
4.5 Rekursion107
4.6 Einschränkung der Sichtbarkeit110
4.7 C++-Quiz113
5 Das Spielfeld114
5.1 Eine Zeile114
5.1.1 Zeilen mit array115
5.1.2 Zeilen mit vector117
5.2 Das Spielfeld – viele Zeilen118
5.2.1 Spielfeld mit vector120
5.2.2 Feld vorbesetzen121
5.3 Die Anwendung – TicTacToe122
5.4 C++-Quiz131
6 Spieler, Würfel und Klassen134
6.1 Objektorientierung135
6.2 Klasse Spieler137
6.2.1 explicit142
6.2.2 private oder public?143
6.3 Trennung von Schnittstelle und Implementation144
6.4 Mehr über Konstruktoren146
6.4.1 Allgemeiner Konstruktor146
6.4.2 Standardkonstruktor146
6.4.3 Kopierkonstruktor147
6.4.4 Einheitliche Initialisierung150
6.5 Die Zerstörung von Objekten151
6.5.1 Der Laufzeit-Stack151
6.5.2 Destruktor152
6.6 Klasse Würfel154
6.7 Würfelspiel: Mensch gegen Maschine156
6.7.1 Der Computer spielt gegen sich selbst157
6.8 C++-Quiz162
7 Grafik mit C++164
7.1 Ereignisgesteuerte Programmierung165
7.2 Einfache Grafik166
7.3 Klassenvariablen und -funktionen170
7.4 Ereignisse172
7.5 Bewegte Grafik174
7.6 Grafikerzeugung182
7.7 C++-Quiz188
8 Dynamische Speicherbeschaffung190
8.1 Zeiger191
8.1.1 Zeiger auf Zeichen193
8.1.2 Zeigerarithmetik und Wahrheitswerte194
8.2 C-Arrays196
8.2.1 Parameterübergabe per Zeiger198
8.3 Speicherbeschaffung199
8.3.1 Die beste Art!199
8.3.2 new und delete – tun Sie es nicht!200
8.3.3 unique_ptr203
8.3.4 shared_ptr205
8.4 Grafische Objekte dynamisch erzeugen207
8.4.1 Speicherplatz besser nutzen209
8.5 Zeiger als Beobachter210
8.6 C++-Quiz212
9 Vererbung214
9.1 Generalisierung und Spezialisierung214
9.2 Vererbung am Beispiel215
9.2.1 Statische Auswertung221
9.3 Konstruktor erben221
9.4 Polymorphismus222
9.4.1 Polymorphismus und >>die großen Drei<<224
9.4.2 Überschreiben oder nicht überschreiben?224
9.4.3 Polymorphismus-Anwendung226
9.4.4 Herausfiltern bestimmter Klassen227
9.5 Abstrakte Klassen228
9.6 Mehrfachvererbung229
9.7 Polymorphismus und SFML – TicTacToe reloaded230
9.8 Probleme der Modellierung mit Vererbung237
9.9 C++-Quiz238
10 Fehlerbehandlung240
10.1 Fehler erkennen und signalisieren241
10.2 Fehler behandeln241
10.3 Vordefinierte Exceptions245
10.4 Eigene Exception-Klasse246
10.5 C++-Quiz248
11 Interaktives Spiel mit Grafik und Sound250
11.1 Anzeige des Spielergebnisses252
11.2 Einfache grafische Komponenten254
11.2.1 Der Mond254
11.2.2 Die fallenden Objekte255
11.3 Sprites257
11.3.1 Der Vogel260
11.4 Spielablauf261
12 Überladen von Operatoren270
12.1 Zeiger als Beobachter: Operatoren -> und *273
12.2 ++, ==, << und weitere275
12.2.1 Typumwandlung280
12.2.2 ++ vorangestellt (Präfix)280
12.2.3 ++ nachgestellt (Postfix)282
12.2.4 Gleichheitsoperator283
12.2.5 Subtraktion285
12.2.6 Ausgabeoperator <<285
12.2.7 Eingabeoperator >>287
12.2.8 Objekte als Funktion288
12.2.9 Indexoperator []288
12.2.10 Arithmetische Operatoren += und +290
12.2.11 Zuweisungsoperator292
12.2.12 new, delete und die großen Drei295
12.3 Empfehlungen299
12.4 C++-Quiz300
13 Die C++-Standardbibliothek302
13.1 Templates303
13.1.1 Funktions-Template304
13.1.2 Template-Spezialisierung306
13.1.3 Klassen-Template308
13.2 Funktionsobjekte und Lambda-Funktionen310
13.2.1 Funktionsobjekte311
13.2.2 Lambda-Funktionen315
13.3 Paare316
13.4 Iteratoren318
13.4.1 Iterator-Kategorien322
13.5 Algorithmen323
13.5.1 Funktionsweise323
13.5.2 sort325
13.5.3 find325
13.5.4 binary_search und lower_bound327
13.5.5 copy329
13.5.6 remove und erase330
13.5.7 fill331
13.5.8 Folge mit fortlaufenden Werten füllen332
13.5.9 generate332
13.5.10 min und max333
13.5.11 min_element und max_element334
13.5.12 accumulate334
13.5.13 Skalarprodukt336
13.6 Container337
13.6.1 Gemeinsame Eigenschaften337
13.6.2 Sequentielle Container340
13.6.3 array342
13.6.4 vector342
13.6.5 list343
13.6.6 deque344
13.6.7 stack345
13.6.8 Assoziative Container345
13.6.9 map346
13.6.10 set350
13.6.11 unordered_map351
13.6.12 unordered_set352
13.7 Zeitmessung und Datum/Uhrzeit353
13.8 Komplexe Zahlen355
14 Referenzsemantik358
14.1 Compiler-generierte Funktionen359
14.2 Empfehlungen360
14.3 Praktische Umsetzung361
15 Ausblick364
15.1 Template-Erweiterungen364
15.2 Die C++–Standardbibliothek365
15.3 Test von C++-Programmen367
A Anhang368
A.1 Installationshinweise für Windows369
A.1.1 Compiler369
A.1.2 Entwicklungsumgebung369
A.1.3 SFML371
A.2 Installationshinweise für Linux372
A.2.1 Compiler372
A.2.2 Entwicklungsumgebung372
A.2.3 SFML373
A.3 Installationshinweise für OS X374
A.3.1 Compiler und Entwicklungsumgebung374
A.3.2 SFML375
A.4 ASCII-Tabelle377
Glossar380
Literatur392
Stichwortverzeichnis394

Weitere E-Books zum Thema: Programmiersprachen - Softwareentwicklung

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

Programmieren lernen in PHP 5

E-Book Programmieren lernen in PHP 5
Format: PDF

Mit der Version 5 erreicht PHP einen bemerkenswerten Reifegrad, der PHP zu einer festen Größe in der Welt der Webprogrammierung macht. Gerade die leichte Erlernbarkeit macht PHP zur idealen…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Weitere Zeitschriften

Arzneimittel Zeitung

Arzneimittel Zeitung

Die Arneimittel Zeitung ist die Zeitung für Entscheider und Mitarbeiter in der Pharmabranche. Sie informiert branchenspezifisch über Gesundheits- und Arzneimittelpolitik, über Unternehmen und ...

FREIE WERKSTATT

FREIE WERKSTATT

Die Fachzeitschrift FREIE WERKSTATT berichtet seit der ersten Ausgaben 1994 über die Entwicklungen des Independent Aftermarkets (IAM). Hauptzielgruppe sind Inhaberinnen und Inhaber, Kfz-Meisterinnen ...

AUTOCAD & Inventor Magazin

AUTOCAD & Inventor Magazin

FÜHREND - Das AUTOCAD & Inventor Magazin berichtet seinen Lesern seit 30 Jahren ausführlich über die Lösungsvielfalt der SoftwareLösungen des Herstellers Autodesk. Die Produkte gehören zu ...

Bibel für heute

Bibel für heute

BIBEL FÜR HEUTE ist die Bibellese für alle, die die tägliche Routine durchbrechen wollen: Um sich intensiver mit einem Bibeltext zu beschäftigen. Um beim Bibel lesen Einblicke in Gottes ...

Der Steuerzahler

Der Steuerzahler

Der Steuerzahler ist das monatliche Wirtschafts- und Mitgliedermagazin des Bundes der Steuerzahler und erreicht mit fast 230.000 Abonnenten einen weitesten Leserkreis von 1 ...

Deutsche Tennis Zeitung

Deutsche Tennis Zeitung

Die DTZ – Deutsche Tennis Zeitung bietet Informationen aus allen Bereichen der deutschen Tennisszene –sie präsentiert sportliche Highlights, analysiert Entwicklungen und erläutert ...

DHS

DHS

Die Flugzeuge der NVA Neben unser F-40 Reihe, soll mit der DHS die Geschichte der "anderen" deutschen Luftwaffe, den Luftstreitkräften der Nationalen Volksarmee (NVA-LSK) der ehemaligen DDR ...