Medienkombination, Deutsch, 1062 Seiten, Format (B × H): 168 mm x 240 mm
Reihe: Galileo Computing
Das umfassende Handbuch, aktuell zum Standard C++11
Medienkombination, Deutsch, 1062 Seiten, Format (B × H): 168 mm x 240 mm
Reihe: Galileo Computing
ISBN: 978-3-8362-2021-7
Verlag: Rheinwerk
Dieses Buch ist als Lehr- und Nachschlagewerk angelegt: Es bietet einen sehr ausführlichen Einstieg in die Sprache C++ und die Objektorientierung, aktuell zum Standard C++11. Darüber hinaus enthält es umfangreiche Kapitel zu professionellen C++-Themen, etwa zur GUI- und Multimedia-Entwicklung. Das ausgewogene didaktische Konzept und die herausragende fachliche Qualität machen es zu einem unentbehrlichen Begleiter in Studium und Beruf.
Aus dem Inhalt:
Sprachgrundlagen
Objektorientierte Programmierung
Ausnahmebehandlung
Templates
Containerklassen
Die string-Klasse
Die Stream-Klassen von C++
Reguläre Ausdrücke
Multithreading
GUI-Programmierung mit Qt
Galileo Press heißt jetzt Rheinwerk Verlag.
Autoren/Hrsg.
Weitere Infos & Material
Geleitwort ... 19 Vorwort ... 21 1. Wir richten uns ein und bringen es ans Laufen ... 25 1.1 ... Von der Quelldatei zum ausführbaren Programm ... 25 1.2 ... Übersicht über die Entwicklungsumgebungen ... 26 1.3 ... Quellcode übersetzen ... 32 1.4 ... C++-Referenzen zum Nachschlagen (bzw. Laden) ... 37 1.5 ... Das Hauptprogramm -- die main()-Funktion ... 38 1.6 ... Die einfachen Streams für die Ein-/Ausgabe ... 43 1.7 ... Zusammenfassung ... 49 2. Die Basisdatentypen in C++ ... 51 2.1 ... Grundlegendes zu Datentypen ... 51 2.2 ... Ganzzahldatentypen (Integer-Datentypen) ... 55 2.3 ... Typen für Gleitkommazahlen ... 60 2.4 ... Typ(en) für Zeichen ... 62 2.5 ... Typ auto (C++11) ... 68 2.6 ... Übersicht und Größe der Basisdatentypen ... 70 2.7 ... Rechnen mit C++ ... 77 2.8 ... Zufallszahlen (neu in C++11) ... 90 2.9 ... Konvertieren von Typen ... 92 3. Kontrollstrukturen ... 99 3.1 ... Bedingte Anweisung ... 99 3.2 ... Fallunterscheidung (mehrfache Verzweigung) ... 111 3.3 ... Schleifen (Wiederholungen) ... 115 4. Jenseits der Basisdatentypen ... 129 4.1 ... Arrays ... 129 4.2 ... Strings (Zeichenketten) ... 143 4.3 ... Zeiger ... 153 4.4 ... Referenzen ... 164 4.5 ... Strukturen ... 166 4.6 ... Unions ... 177 4.7 ... Aufzählungstypen (C++11-Version) ... 180 4.8 ... Synonym-Technik ... 183 4.9 ... Fazit ... 185 5. Funktionen ... 187 5.1 ... Funktionen definieren ... 187 5.2 ... Funktionen aufrufen ... 189 5.3 ... Funktionen deklarieren (Vorausdeklaration) ... 189 5.4 ... Exkurs: Gültigkeitsbereiche ... 191 5.5 ... Funktionsparameter ... 195 5.6 ... Rückgabewert aus einer Funktion ... 207 5.7 ... Funktionen überladen ... 215 5.8 ... Spezielle Funktionen ... 217 5.9 ... Die neue Funktionssyntax (C++11) ... 221 5.10 ... Ausblick ... 226 6. Modularisierung ... 227 6.1 ... Namensräume ... 227 6.2 ... Speicherklassenattribute ... 238 6.3 ... Typqualifikatoren ... 244 6.4 ... Spezielle Schlüsselwörter ... 247 6.5 ... Präprozessor-Direktiven ... 251 6.6 ... Modulare Programmierung -- Code organisieren ... 260 7. Grundlagen zu den Klassen ... 269 7.1 ... Prinzip von Klassen ... 271 7.2 ... Klassen erstellen ... 272 7.3 ... Objekte einer Klasse erzeugen ... 274 7.4 ... Klassen(-Eigenschaften) initialisieren ... 276 7.5 ... Objekte zerstören -- Destruktoren ... 295 7.6 ... Exkurs: Zugriffskontrolle auf die Klassenmitglieder ... 298 7.7 ... Methoden -- die Funktionen der Klasse ... 303 7.8 ... Spezielle Eigenschaften einer Klasse ... 329 7.9 ... Erzeugen von Methoden steuern (C++11) ... 345 7.10 ... Klassen für das Verschieben schreiben (C++11) ... 350 7.11 ... Friend-Klassen ... 357 8. Operatoren überladen ... 359 8.1 ... Grundlegendes zum Überladen von Operatoren ... 361 8.2 ... Zuweisungsoperator -- operator= ... 373 8.3 ... Die Operatoren im Schnelldurchlauf ... 379 8.4 ... Übersicht der Operatoren in einer Tabelle ... 400 9. Vererbung ... 407 9.1 ... Grundlagen zur Vererbung ... 407 9.2 ... Abgeleitete Klassen implementieren ... 410 9.3 ... Zugriffsschutz anpassen ... 417 9.4 ... Abgeleitete Klassen verwenden und erweitern ... 423 9.5 ... Auf- und Abbau von abgeleiteten Klassen ... 428 9.6 ... Implizite und explizite Typumwandlung in der Klassenhierarchie ... 434 9.7 ... Polymorphie mithilfe von virtuellen Methoden ... 436 9.8 ... Virtueller Destruktor ... 442 9.9 ... Pure virtuelle Methoden und abstrakte Klassen ... 445 9.10 ... Mehrfachvererbung ... 45710. Ausnahmebehandlung (Exceptions) ... 467 10.1 ... Prinzip der Ausnahmebehandlung ... 468 10.2 ... Ausnahmebehandlung implementieren ... 469 10.3 ... Ausnahmeklasse implementieren ... 481 10.4 ... Standardausnahmen von C++ ... 485 10.5 ... Spezielle Fehlerbehandlungsfunktionen ... 496 10.6 ... Gefahren bei der Ausnahmebehandlung ... 50411. Template-Programmierung ... 507 11.1 ... Funktions-Templates ... 508 11.2 ... Klassen-Templates ... 523 11.3 ... Templates mit variabler Argumentanzahl (C++11) ... 53912. Container, Iteratoren, Algorithmen und Hilfsmittel ... 545 12.1 ... Grundlagen ... 546 12.2 ... Standardcontainer-Klassen ... 550 12.3 ... Kleine Methodenübersicht aller Containerklassen ... 578 12.4 ... Iteratoren ... 590 12.5 ... Algorithmen ... 603 12.6 ... Hilfsmittel ... 62713. Die Stream-Ein-/Ausgabeklassen von C++ ... 647 13.1 ... Das Ein-/Ausgabe-Stream-Konzept von C++ ... 647 13.2 ... Globale, vordefinierte Standard-Streams ... 648 13.3 ... Methoden für die Aus- und Eingabe von Streams ... 650 13.4 ... Fehlerbehandlung bzw. Zustand von Streams ... 655 13.5 ... Streams manipulieren und formatieren ... 659 13.6 ... Streams für die Datei-Ein-/Ausgabe ... 672 13.7 ... Streams für Strings ... 687 13.8 ... Stream-Puffer ... 69214. Reguläre Ausdrücke (C++11) ... 695 14.1 ... Grammatik-Grundlagen zu den regulären Ausdrücken ... 696 14.2 ... Ein Objekt für reguläre Ausrücke erzeugen ... 699 14.3 ... Suchergebnis analysieren ... 702 14.4 ... Algorithmen für reguläre Ausdrücke ... 70515. Multithreading (C++11) ... 719 15.1 ... Die Grundlagen ... 719 15.2 ... Threads erzeugen ... 722 15.3 ... Gemeinsame Daten synchronisieren ... 734 15.4 ... Threadlokale Daten ... 750 15.5 ... Threads synchronisieren ... 751 15.6 ... Asynchrones Arbeiten (Future und Promise) ... 755 15.7 ... packaged_task ... 76716. Weitere Neuerungen in C++11 ... 773 16.1 ... Move-Semantik und Perfect Forwarding ... 773 16.2 ... Benutzerdefinierte Literale (C++11) ... 784 16.3 ... Smart Pointer (C++11) ... 789 16.4 ... Zeitbibliothek ... 812 16.5 ... Type-Traits ... 820 16.6 ... POD (Plain Old Data) (C++11) ... 826 16.7 ... std::initializer_list ... 82817. GUI-Programmierung mit Qt ... 833 17.1 ... Ein erstes Programmbeispiel schreiben ... 836 17.2 ... Signale und Slots ... 846 17.3 ... Klassenhierarchie von Qt ... 866 17.4 ... Eigene Widgets erstellen ... 870 17.5 ... Eigene Widgets mit dem Qt Designer erstellen ... 873 17.6 ... Widgets anordnen ... 880 17.7 ... Dialoge erstellen mit QDialog ... 888 17.8 ... Vorgefertigte Dialoge von Qt ... 896 17.9 ... Eigenen Dialog mit dem Qt Designer erstellen ... 909 17.10 ... Grafische Bedienelemente von Qt (Qt-Widgets) ... 930 17.11 ... Anwendungen in einem Hauptfenster ... 969 17.12 ... Anwendung lokalisieren mit Qt Linguistic ... 998 17.13 ... Anwendungen in einem Hauptfenster mit dem Qt Designer ... 1006 17.14 ... Qt Designer vs. handgeschrieben ... 1018 17.15 ... Dinge, die man wissen sollte ... ... 1018 17.16 ... Klassen und Typen zum Speichern von Daten ... 1027 17.17 ... Fazit ... 1032 Anhang ... 1033 A.1 ... Operatoren in C++ und deren Bedeutung (Übersicht) ... 1033 A.2 ... Vorrangtabelle der Operatoren ... 1035 A.3 ... Schlüsselwörter von C++ ... 1037 A.4 ... Informationsspeicherung ... 1037 A.5 ... Zeichensätze ... 1044 Index ... 1051