Zum Hauptinhalt springen
Nicht aus der Schweiz? Besuchen Sie lehmanns.de

C++ von A bis Z

Das umfassende Handbuch

Jürgen Wolf (Autor)

Media-Kombination
1247 Seiten
2009 | 2. Auflage
Galileo Press
978-3-8362-1429-2 (ISBN)

Lese- und Medienproben

C++ von A bis Z - Jürgen Wolf
CHF 58,75 inkl. MwSt
zur Neuauflage
  • Titel erscheint in neuer Auflage
  • Artikel merken
Zu diesem Artikel existiert eine Nachauflage
Dieses Buch ist Lehr- und Nachschlagewerk in einem: Es bietet einen sehr ausführlichen Einstieg in die Sprache C++ und die Objektorientierung. Darüber hinaus enthält es Kapitel zu Profi-Themen, wie Socket- und Cross-Plattform-Entwicklung oder GUI- und Multimedia-Programmierung. Die Praxisnähe und die herausragende fachliche Qualität machen es zu einem unentbehrlichen Begleiter in Studium und Beruf.


Aus dem Inhalt:





* ANSI C++ from Scratch: Bezeichner, Basisdatentypen, Konstanten, Kommentare, Kontrollstrukturen, Funktionen, Zeiger, Referenzen, Arrays, Namensräume, Typumwandlungen, ...
* C++ advanced: Eigene Module erstellen, Grundlagen der UML, guter Programmierstil, Boost-Bibliothek, Netzwerkprogrammierung, Crossplattform-Entwicklung, GUI- und Multimedia-Bibliotheken
* Zusätzlich auf CD: Openbook zu C: Wie war das noch mal in C? Schauen Sie nach! Das beiliegende Openbook ist leicht navigierbar und besonders zum Nachschlagen geeignet.

Jürgen Wolf ist Softwareentwickler und Autor; C/C++, Perl und Linux sind seine Themen.





... Vorwort ... 17


... ... Über dieses Buch ... 17

... ... Zielgruppe ... 17

... ... C und C++ ... 18

... ... Betriebssystem ... 18

... ... Übersicht ... 18

... ... Buch-CD ... 20

... ... Danksagung ... 21



... Vorwort des Fachgutachters ... 23


... ... C++ -- nur eine Erweiterung von C? ... 23



1 ... Grundlagen in C++ ... 25


... 1.1 ... Die Entstehung von C++ ... 25

... 1.2 ... Erste Schritte der C++-Programmierung ... 31

... 1.3 ... Symbole von C++ ... 35

... 1.4 ... Basisdatentypen ... 39

... 1.5 ... Konstanten ... 53

... 1.6 ... Standard Ein-/Ausgabe-Streams ... 54

... 1.7 ... Operatoren ... 59

... 1.8 ... Kommentare ... 68

... 1.9 ... Kontrollstrukturen ... 69

... 1.10 ... Funktionen ... 99

... 1.11 ... Präprozessor-Direktiven ... 122



2 ... Höhere und fortgeschrittene Datentypen ... 133


... 2.1 ... Zeiger ... 133

... 2.2 ... Referenzen ... 149

... 2.3 ... Arrays ... 152

... 2.4 ... Zeichenketten (C-Strings) -- char-Array ... 159

... 2.5 ... Arrays und Zeiger ... 166

... 2.6 ... Parameterübergabe mit Zeigern, Arrays und Referenzen ... 181

... 2.7 ... Rückgabewerte von Zeigern, Arrays und Referenzen ... 190

... 2.8 ... Fortgeschrittene Typen ... 197



3 ... Gültigkeitsbereiche, spezielle Deklarationen und Typumwandlungen ... 225


... 3.1 ... Gültigkeitsbereiche (Scope) ... 225

... 3.2 ... Namensräume (Namespaces) ... 228

... 3.3 ... C-Funktionen bzw. -Bibliotheken in einem C++Programm ... 244

... 3.4 ... Speicherklassenattribute ... 249

... 3.5 ... Typqualifikatoren ... 253

... 3.6 ... Funktionsattribute ... 255

... 3.7 ... Typumwandlung ... 255



4 ... Objektorientierte Programmierung ... 265


... 4.1 ... OOP-Konzept versus prozedurales Konzept ... 265

... 4.2 ... Klassen (fortgeschrittene Typen) ... 267

... 4.3 ... Mehr zu den Klassenmethoden (Klassenfunktionen) ... 295

... 4.4 ... Verwenden von Objekten ... 307

... 4.5 ... Operatoren überladen ... 358

... 4.6 ... Typumwandlung für Klassen ... 388

... 4.7 ... Vererbung (abgeleitete Klassen) ... 392

... 4.8 ... Polymorphismus ... 414

... 4.9 ... Mehrfachvererbung ... 463



5 ... Templates und STL ... 477


... 5.1 ... Funktions-Templates ... 477

... 5.2 ... Klassen-Templates ... 489

... 5.3 ... STL (Standard Template Library) ... 507



6 ... Exception-Handling ... 661


... 6.1 ... Exception-Handling in C++ ... 662

... 6.2 ... Eine Exception auslösen ... 662

... 6.3 ... Eine Exception auffangen -- Handle einrichten ... 663

... 6.4 ... Ausnahmeklassen (Fehlerklassen) ... 676

... 6.5 ... Standard-Exceptions ... 680

... 6.6 ... System-Exceptions ... 686

... 6.7 ... Exception-Spezifikation ... 688



7 ... C++-Standardbibliothek ... 695


... 7.1 ... Die String-Bibliothek (string-Klasse) ... 695

... 7.2 ... Ein-/Ausgabe Klassenhierarchie (I/O-Streams) ... 722

... 7.3 ... Numerische Bibliothek(en) ... 776

... 7.4 ... Typerkennung zur Laufzeit ... 814



8 ... Weiteres zum C++-Guru ... 821


... 8.1 ... Module ... 821

... 8.2 ... Von C zu C++ ... 830

... 8.3 ... »Altes« C++ ... 835

... 8.4 ... UML ... 837

... 8.5 ... Programmierstil ... 881

... 8.6 ... Entwicklungsstufen von Software ... 886

... 8.7 ... Boost ... 892



9 ... Netzwerkprogrammierung und CrossPlattform-Entwicklung in C++ ... 917


... 9.1 ... Begriffe zur Netzwerktechnik ... 918

... 9.2 ... Header-Dateien zur Socketprogrammierung ... 923

... 9.3 ... Client-Server-Prinzip ... 926

... 9.4 ... Erstellen einer Client-Anwendung ... 927

... 9.5 ... Erstellen einer Server-Anwendung ... 937

... 9.6 ... Cross-Plattform-Development ... 943

... 9.7 ... Mehrere Clients gleichzeitig behandeln ... 976

... 9.8 ... Weitere Anmerkungen zur Netzwerkprogrammierung ... 986



10 ... GUI- und Multimediaprogrammierung in C++ ... 993


... 10.1 ... GUI-Programmierung -- Überblick ... 993

... 10.2 ... Multimedia- und Grafikprogrammierung -- Überblick ... 998

... 10.3 ... GUI-Programmierung mit »wxWidgets« ... 1001



A ... Anhang ... 1207


... A.1 ... Operatoren in C++ und deren Bedeutung (Übersicht) ... 1207

... A.2 ... Vorrangtabelle der Operatoren ... 1209

... A.3 ... Schlüsselwörter von C++ ... 1210

... A.4 ... Informationsspeicherung ... 1210

... A.5 ... Zeichensätze ... 1218

1 Grundlagen in C++ (S. 25) 1.1 Die Entstehung von C++ Ursprünglich wurde C++ 1979 von Dr. Bjarne Stroustrup entwickelt, um Simulationsprojekte mit geringem Speicher- und Zeitbedarf zu programmieren. Auch hier lieferte (wie schon bei C) kein geringeres Betriebssystem als UNIX die Ursprungsplattform dieser Sprache. Stroustrup musste (damals noch bei den Bell Labs beschäftigt) den UNIX-Betriebssystemkern auf verteilte Programmierung hin analysieren. Für größere Projekte verwendete Stroustrup bisher die Sprachen Simula - die allerdings in der Praxis recht langsam bei der Ausführung ist - und BCPL, die zwar sehr schnell ist, aber sich für große Projekte nicht eignete. Simula und BCPL Simula gilt als Vorgänger von Smalltalk. Viele der mit Simula eingeführten Konzepte finden sich in modernen objektorientierten Programmiersprachen wieder. BCPL (Kurzform für Basic Combined Programming Language) ist eine um 1967 von Martin Richards entwickelte kompilierte, systemnahe Programmiersprache, abgeleitet von der Combined/Cambridge Programming Language CPL. Es handelt sich um eine Sprache aus der ALGOL-Familie. Homepage von Stroustrup Wer mehr über Bjarne Stroustrup erfahren möchte, findet unter der URL public.research.att.com/~bs/homepage.html seine Homepage. Stroustrup erweiterte die Sprache C um ein Klassenkonzept, wofür er die Sprache Simula-67 (mit der Bildung von Klassen, Vererbung und dem Entwurf virtueller Funktionen) und später dann Algol68 (Überladen von Operatoren, Deklarationen im Quelltext frei platzierbar) sowie Ada (Entwicklung von Templates, Ausnahmebehandlung) als Vorlage nahm. Heraus kam ein "C mit Klassen" (woraus etwas später auch C++ wurde). C wurde als Ursprung verwendet, weil diese Sprache schnellen Code erzeugte, einfach auf andere Plattformen zu portieren ist und fester Bestandteil von UNIX ist. Vor allem ist C auch eine weitverbreitete Sprache, wenn nicht sogar die am weitesten verbreitete Sprache überhaupt. Natürlich wurde auch weiterhin auf die Kompatibilität von C geachtet, damit auch in C entwickelte Programme in C++-Programmen liefen. Insgesamt wurde "C mit Klassen" zunächst um folgende Sprachelemente erweitert, auf die später noch eingegangen wird: Klassenererbung (ohne Polymorphismus) Konstruktoren, Destruktoren Funktionen Friend-Deklaration Typüberprüfung Einige Zeit später, 1982, wurde aus "C mit Klassen" die Programmiersprache C++. Der Inkrementoperator ++ am Ende des C sollte darauf hinweisen, dass die Programmiersprache C++ aus der Programmiersprache C entstanden ist und erweitert wurde. Folgende neue Features sind dann gegenüber "C mit Klassen" hinzugekommen: virtuelle Funktionen Überladen von Funktionen Überladen von Operatoren Referenzen Konstanten veränderbare Freispeicherverwaltung verbesserte Typüberprüfung Kommentare mit // am Zeilenende anfügen (von BCPL) 1985 erschien dann die Version 2.0 von C++, die wiederum folgende Neuerungen enthielt: Mehrfachvererbung abstrakte Klassen statische und konstante Elementfunktionen Erweiterung des Schutzmodells um das Schlüsselwort protected Relativ spät, 1991, fand das erste Treffen der ISO(International Organisation for Standardization)-Workgroup statt, um C++ zu standardisieren, was 1995 zu einem Draft Standard führte. Allerdings dauerte es wiederum drei weitere Jahre, bis 1998 C++ dann endlich von der ISO genormt wurde (ISO/IEC 14882:1998). Erweitert wurde C++ in dieser Zeit um folgende Features: Templates Ausnahmebehandlung Namensräume neuartige Typumwandlung boolesche Typen Natürlich entstanden während der Zeit der Weiterentwicklung von C++ auch eine Menge Standardbibliotheken wie bspw. die Stream-I/O-Bibliothek, die die bis dahin traditionellen C-Funktione

Reihe/Serie Galileo Computing
Sprache deutsch
Maße 168 x 240 mm
Gewicht 1888 g
Themenwelt Informatik Programmiersprachen / -werkzeuge C / C++
Schlagworte C • C++ • C++ (Programmiersprache); Einführung • GUI • Java • Objektorientierung • Stroustrup
ISBN-10 3-8362-1429-6 / 3836214296
ISBN-13 978-3-8362-1429-2 / 9783836214292
Zustand Neuware
Informationen gemäß Produktsicherheitsverordnung (GPSR)
Haben Sie eine Frage zum Produkt?