C++ - eine Einführung

C++ - eine Einführung

 

 

 

von: Ulrich Breymann

Carl Hanser Fachbuchverlag, 2016

ISBN: 9783446449121

Sprache: Deutsch

398 Seiten, Download: 6467 KB

 
Format:  PDF, auch als Online-Lesen

geeignet für: Apple iPad, Android Tablet PC's Online-Lesen PC, MAC, Laptop
Typ: A (einfacher Zugriff)

 

eBook anfordern

Mehr zum Inhalt

C++ - eine Einführung



  Inhalt 6  
  Vorwort 14  
  1 Erste Grundlagen 16  
     1.1 Historisches 16  
     1.2 Die Programmiersprache C++ und die Maschine 17  
     1.3 Werkzeuge zum Programmieren 19  
        1.3.1 Der Editor 19  
        1.3.2 Der Compiler 20  
     1.4 Die Beispiele 21  
     1.5 Wo gibt es Hilfe? 21  
     1.6 Das erste Programm! 22  
        1.6.1 Fehlermeldungen 25  
     1.7 Eingaben und Kommentare 27  
        1.7.1 Kommentare und Namen 29  
     1.8 Zahltypen und -bereiche 30  
        1.8.1 Ganze Zahlen 30  
        1.8.2 Kommazahlen 34  
        1.8.3 Bit-Operatoren 0  
        1.8.4 Vorsicht Falle: Umwandlung des Zahltyps 36  
     1.9 Zeichen und Zeichenketten 39  
        1.9.1 Eingabe 42  
        1.9.2 Zeichen und Zahlen 44  
     1.10 C++-Quiz 45  
  2 Zahlen raten – Kontrollstrukturen anwenden 48  
     2.1 Fallunterscheidung mit if 48  
        2.1.1 Vergleichsoperatoren 50  
        2.1.2 Logische Verknüpfungen 51  
        2.1.3 Bedingungsoperator 53  
        2.1.4 if und Fehler bei der Eingabe 54  
        2.1.5 Fehler in Verbindung mit if 56  
        2.1.6 C++-Quiz 57  
     2.2 Wiederholungen 58  
        2.2.1 while-Schleife 58  
        2.2.2 do-while-Schleife 60  
        2.2.3 for-Schleife 62  
        2.2.4 Abbruch mit break 63  
        2.2.5 Abbruch mit boolescher Variable 64  
        2.2.6 continue – zurück an den Anfang 64  
        2.2.7 C++-Quiz 65  
     2.3 Der Zufall kommt ins Spiel 67  
        2.3.1 Bereich für Zufallszahlen definieren 70  
     2.4 Konstante 72  
     2.5 Auswahl mit switch 74  
     2.6 Aufzählungstyp 77  
     2.7 C++-Quiz 79  
  3 Ein- und Ausgabe 80  
     3.1 Standardein- und -ausgabe 81  
        3.1.1 Umleitung auf Betriebssystemebene 82  
     3.2 Ein- und Ausgabe mit Dateien 83  
        3.2.1 Schreiben einer Textdatei (Spielerdatenbank) 83  
        3.2.2 Einlesen der Spielerdatenbank 85  
        3.2.3 Binärdatei 87  
     3.3 Formatierung der Ausgabe 89  
     3.4 C++-Quiz 90  
  4 Aufgaben strukturieren 92  
     4.1 Deklaration und Definition 93  
        4.1.1 Übergabe per Wert 94  
        4.1.2 Überladen einer Funktion 96  
     4.2 Trennung von Schnittstelle und Implementation 97  
        4.2.1 Namensräume 101  
        4.2.2 Präprozessoranweisungen 102  
     4.3 Übergabe per Referenz 103  
     4.4 Dateiübergreifende Sichtbarkeit 105  
     4.5 Rekursion 107  
     4.6 Einschränkung der Sichtbarkeit 110  
     4.7 C++-Quiz 113  
  5 Das Spielfeld 114  
     5.1 Eine Zeile 114  
        5.1.1 Zeilen mit array 115  
        5.1.2 Zeilen mit vector 117  
     5.2 Das Spielfeld – viele Zeilen 118  
        5.2.1 Spielfeld mit vector 120  
        5.2.2 Feld vorbesetzen 121  
     5.3 Die Anwendung – TicTacToe 122  
     5.4 C++-Quiz 131  
  6 Spieler, Würfel und Klassen 134  
     6.1 Objektorientierung 135  
     6.2 Klasse Spieler 137  
        6.2.1 explicit 142  
        6.2.2 private oder public? 143  
     6.3 Trennung von Schnittstelle und Implementation 144  
     6.4 Mehr über Konstruktoren 146  
        6.4.1 Allgemeiner Konstruktor 146  
        6.4.2 Standardkonstruktor 146  
        6.4.3 Kopierkonstruktor 147  
        6.4.4 Einheitliche Initialisierung 150  
     6.5 Die Zerstörung von Objekten 151  
        6.5.1 Der Laufzeit-Stack 151  
        6.5.2 Destruktor 152  
     6.6 Klasse Würfel 154  
     6.7 Würfelspiel: Mensch gegen Maschine 156  
        6.7.1 Der Computer spielt gegen sich selbst 157  
     6.8 C++-Quiz 162  
  7 Grafik mit C++ 164  
     7.1 Ereignisgesteuerte Programmierung 165  
     7.2 Einfache Grafik 166  
     7.3 Klassenvariablen und -funktionen 170  
     7.4 Ereignisse 172  
     7.5 Bewegte Grafik 174  
     7.6 Grafikerzeugung 182  
     7.7 C++-Quiz 188  
  8 Dynamische Speicherbeschaffung 190  
     8.1 Zeiger 191  
        8.1.1 Zeiger auf Zeichen 193  
        8.1.2 Zeigerarithmetik und Wahrheitswerte 194  
     8.2 C-Arrays 196  
        8.2.1 Parameterübergabe per Zeiger 198  
     8.3 Speicherbeschaffung 199  
        8.3.1 Die beste Art! 199  
        8.3.2 new und delete – tun Sie es nicht! 200  
        8.3.3 unique_ptr 203  
        8.3.4 shared_ptr 205  
     8.4 Grafische Objekte dynamisch erzeugen 207  
        8.4.1 Speicherplatz besser nutzen 209  
     8.5 Zeiger als Beobachter 210  
     8.6 C++-Quiz 212  
  9 Vererbung 214  
     9.1 Generalisierung und Spezialisierung 214  
     9.2 Vererbung am Beispiel 215  
        9.2.1 Statische Auswertung 221  
     9.3 Konstruktor erben 221  
     9.4 Polymorphismus 222  
        9.4.1 Polymorphismus und >>die großen Drei<< 224  
        9.4.2 Überschreiben oder nicht überschreiben? 224  
        9.4.3 Polymorphismus-Anwendung 226  
        9.4.4 Herausfiltern bestimmter Klassen 227  
     9.5 Abstrakte Klassen 228  
     9.6 Mehrfachvererbung 229  
     9.7 Polymorphismus und SFML – TicTacToe reloaded 230  
     9.8 Probleme der Modellierung mit Vererbung 237  
     9.9 C++-Quiz 238  
  10 Fehlerbehandlung 240  
     10.1 Fehler erkennen und signalisieren 241  
     10.2 Fehler behandeln 241  
     10.3 Vordefinierte Exceptions 245  
     10.4 Eigene Exception-Klasse 246  
     10.5 C++-Quiz 248  
  11 Interaktives Spiel mit Grafik und Sound 250  
     11.1 Anzeige des Spielergebnisses 252  
     11.2 Einfache grafische Komponenten 254  
        11.2.1 Der Mond 254  
        11.2.2 Die fallenden Objekte 255  
     11.3 Sprites 257  
        11.3.1 Der Vogel 260  
     11.4 Spielablauf 261  
  12 Überladen von Operatoren 270  
     12.1 Zeiger als Beobachter: Operatoren -> und * 273  
     12.2 ++, ==, << und weitere 275  
        12.2.1 Typumwandlung 280  
        12.2.2 ++ vorangestellt (Präfix) 280  
        12.2.3 ++ nachgestellt (Postfix) 282  
        12.2.4 Gleichheitsoperator 283  
        12.2.5 Subtraktion 285  
        12.2.6 Ausgabeoperator << 285  
        12.2.7 Eingabeoperator >> 287  
        12.2.8 Objekte als Funktion 288  
        12.2.9 Indexoperator [] 288  
        12.2.10 Arithmetische Operatoren += und + 290  
        12.2.11 Zuweisungsoperator 292  
        12.2.12 new, delete und die großen Drei 295  
     12.3 Empfehlungen 299  
     12.4 C++-Quiz 300  
  13 Die C++-Standardbibliothek 302  
     13.1 Templates 303  
        13.1.1 Funktions-Template 304  
        13.1.2 Template-Spezialisierung 306  
        13.1.3 Klassen-Template 308  
     13.2 Funktionsobjekte und Lambda-Funktionen 310  
        13.2.1 Funktionsobjekte 311  
        13.2.2 Lambda-Funktionen 315  
     13.3 Paare 316  
     13.4 Iteratoren 318  
        13.4.1 Iterator-Kategorien 322  
     13.5 Algorithmen 323  
        13.5.1 Funktionsweise 323  
        13.5.2 sort 325  
        13.5.3 find 325  
        13.5.4 binary_search und lower_bound 327  
        13.5.5 copy 329  
        13.5.6 remove und erase 330  
        13.5.7 fill 331  
        13.5.8 Folge mit fortlaufenden Werten füllen 332  
        13.5.9 generate 332  
        13.5.10 min und max 333  
        13.5.11 min_element und max_element 334  
        13.5.12 accumulate 334  
        13.5.13 Skalarprodukt 336  
     13.6 Container 337  
        13.6.1 Gemeinsame Eigenschaften 337  
        13.6.2 Sequentielle Container 340  
        13.6.3 array 342  
        13.6.4 vector 342  
        13.6.5 list 343  
        13.6.6 deque 344  
        13.6.7 stack 345  
        13.6.8 Assoziative Container 345  
        13.6.9 map 346  
        13.6.10 set 350  
        13.6.11 unordered_map 351  
        13.6.12 unordered_set 352  
     13.7 Zeitmessung und Datum/Uhrzeit 353  
     13.8 Komplexe Zahlen 355  
  14 Referenzsemantik 358  
     14.1 Compiler-generierte Funktionen 359  
     14.2 Empfehlungen 360  
     14.3 Praktische Umsetzung 361  
  15 Ausblick 364  
     15.1 Template-Erweiterungen 364  
     15.2 Die C++–Standardbibliothek 365  
     15.3 Test von C++-Programmen 367  
  A Anhang 368  
     A.1 Installationshinweise für Windows 369  
        A.1.1 Compiler 369  
        A.1.2 Entwicklungsumgebung 369  
        A.1.3 SFML 371  
     A.2 Installationshinweise für Linux 372  
        A.2.1 Compiler 372  
        A.2.2 Entwicklungsumgebung 372  
        A.2.3 SFML 373  
     A.3 Installationshinweise für OS X 374  
        A.3.1 Compiler und Entwicklungsumgebung 374  
        A.3.2 SFML 375  
     A.4 ASCII-Tabelle 377  
  Glossar 380  
  Literatur 392  
  Stichwortverzeichnis 394  

Kategorien

Service

Info/Kontakt

  Info
Hier gelangen Sie wieder zum Online-Auftritt Ihrer Bibliothek