ebook img

C++ Programmieren mit Stil PDF

622 Pages·2003·4.8 MB·German
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview C++ Programmieren mit Stil

;-_=_Scrolldown to the Underground_=_-; C++ Programmieren mit Stil http://kickme.to/tiger/ Inhalt Vorige Seite: Eine Ebene höher: Nächste Seite: 1 Vorbemerkungen Inhalt l 1 Vorbemerkungen m W as das Buch nicht ist m 1 .2 Aufbau des Buchs m 1 .3 Schreibweisen und Konventionen m 1 .4 Übungsbeispiele und Entwicklungssysteme m 1 .5 Die beigelegte CD l 2 Einführung m 2 .1 Die Programmiersprache C++ n 2 .1.1 Grundlagen von C++ n 2 .1.2 Die Entwicklung von C++ m 2 .2 Einfache C++-Programme n 2 .2.1 Das erste Programm: Hello world! n 2 .2.2 Variablen und Kontrollstrukturen n 2 .2.3 Funktionen l 3 Lexikalische Elemente von C++ m 3 .1 Sprachbeschreibung mit Grammatik m 3 .2 Bezeichner m 3 .3 Schlüsselwörter m 3 .4 Literale n 3 .4.1 Ganze Zahlen n 3 .4.2 Fließkommazahlen n 3 .4.3 Zeichen n 3 .4.4 Zeichenketten file:///D|/Cool Stuff/old/ftp/preview/mysql/C++_Programmieren_mit_Stil/Cppbuch/NODE3.HTM (1 von 11) [10.09.2000 10:01:17] Inhalt n 3 .4.5 Wahrheitswerte m 3 .5 Operatoren und Begrenzer n 3 .5.1 Operatoren n 3 .5.2 Begrenzer n 3 .5.3 Alternative Operatoren und Begrenzer n 3 .5.4 Kommentare l 4 Einfache Deklarationen und Basisdatentypen m 4 .1 Die Begriffe Definition und Deklaration m 4 .2 Basisdatentypen n 4 .2.1 Der Datentyp bool n 4 .2.2 Die Datentypen char und wchar_t n 4 .2.3 Die int-Datentypen n 4 .2.4 Fließkommadatentypen n 4 .2.5 Der Datentyp void m 4 .3 Aufzählungstypen m 4 .4 Deklaration von Konstanten l 5 Ausdrücke m 5 .1 Auswertungsreihenfolge m 5 .2 LValues und RValues m 5 .3 Primäre Ausdrücke m 5 .4 Postfix-Ausdrücke m 5 .5 Unäre Ausdrücke m 5 .6 Andere Ausdrücke l 6 Anweisungen m 6 .1 Ausdrucksanweisung m 6 .2 Sprungmarken m 6 .3 Blockanweisungen m 6 .4 Deklaration m 6 .5 Selektion n D ie if else-Anweisung n 6 .5.2 Die switch-Anweisung m 6 .6 Iteration n 6 .6.1 Die while-Anweisung file:///D|/Cool Stuff/old/ftp/preview/mysql/C++_Programmieren_mit_Stil/Cppbuch/NODE3.HTM (2 von 11) [10.09.2000 10:01:17] Inhalt n D ie do while-Anweisung n 6 .6.3 Die for-Anweisung m 6 .7 Sprunganweisungen n 6 .7.1 Die break-Anweisung n 6 .7.2 Die continue-Anweisung n 6 .7.3 Die return-Anweisung n 6 .7.4 Die goto-Anweisung l 7 Funktionen m 7 .1 Einführung m 7 .2 Deklaration und Definition von Funktionen m 7 .3 Funktionsaufruf und Parameterübergabe m 7 .4 Spezielle Funktionen n 7 .4.1 Prozeduren n 7 .4.2 Operator-Funktionen m 7 .5 inline-Funktionen m 7 .6 Vorbelegte Parameter m 7 .7 Überladen von Funktionen n 7 .7.1 Aufruf von überladenen Funktionen n 7 .7.2 Überladen versus vorbelegte Parameter m 7 .8 Rekursion l 8 Höhere Datentypen und strukturierte Datentypen m 8 .1 Referenzen m 8 .2 Grundlegendes zu Zeigern n 8 .2.1 Deklaration von Zeigern n 8 .2.2 Adreßbildung n 8 .2.3 Dereferenzierung von Zeigerwerten n 8 .2.4 Anlegen von dynamischen Objekten n 8 .2.5 Zerstören von dynamisch angelegten Speicherobjekten n 8 .2.6 Zeigerkonstanten n 8 .2.7 Spezielle Zeigertypen n v oid-Zeiger n Z eiger auf Funktionen m 8 .3 Vektoren file:///D|/Cool Stuff/old/ftp/preview/mysql/C++_Programmieren_mit_Stil/Cppbuch/NODE3.HTM (3 von 11) [10.09.2000 10:01:17] Inhalt n 8 .3.1 Vektoren und Zeiger n 8 .3.2 Zeigerarithmetik n 8 .3.3 Vektoren als Parameter m 8 .4 Zeichenketten m 8 .5 Parameterübergabe mit Zeigern und Referenzen n 8 .5.1 Call by Value und Call by Reference n 8 .5.2 Gegenüberstellung der zwei Arten der Parameterübergabe m 8 .6 Strukturierte Datentypen: Klassen n 8 .6.1 Definition von Klassen n 8 .6.2 Die Elementoperatoren . und -> l 9 Gültigkeitsbereiche, Deklarationen und Typumwandlungen m 9 .1 Gültigkeitsbereiche, Namensräume und Sichtbarkeit n 9 .1.1 Gültigkeitsbereiche n 9 .1.2 Namensräume n D eklaration und Verwendung von Namensräumen n N amenlose Namensräume m 9 .2 Deklarationen n 9 .2.1 Speicherklassenattribute n S peicherklasse auto n S peicherklasse register n S peicherklasse static n S peicherklasse extern n S peicherklasse mutable n D er Zusammenhang zwischen Speicherklasse, Lebensdauer und Gültigkeit n 9 .2.2 Typ-Qualifikatoren n 9 .2.3 Funktionsattribute n 9 .2.4 typedef m 9 .3 Initialisierung m 9 .4 Typumwandlungen n 9 .4.1 Standard-Typumwandlung n L Value-RValue-Typumwandlungen n V ektor-Zeiger-Typumwandlungen n F unktion-Zeiger-Typumwandlungen file:///D|/Cool Stuff/old/ftp/preview/mysql/C++_Programmieren_mit_Stil/Cppbuch/NODE3.HTM (4 von 11) [10.09.2000 10:01:17] Inhalt n Q ualifikations-Typumwandlungen n In tegral- und Gleitkomma-Promotionen n In tegral- und Gleitkomma-Typumwandlungen n G leitkomma-Integral-Typumwandlungen n Z eiger-Typumwandlungen n B asisklassen-Typumwandlungen n B ool-Typumwandlungen n 9 .4.2 Explizite Typumwandlung n T ypumwandlung im C-Stil und im Funktionsstil n N eue Cast-Operatoren l 1 0 Module und Datenkapseln m 1 0.1 Motivation m 1 0.2 Vom Modul zur Datenkapsel m 1 0.3 Module und Datenkapseln in C++ n 1 0.3.1 Die Schnittstellendatei n 1 0.3.2 Die Implementierungsdatei n 1 0.3.3 Modul-Klienten n 1 0.3.4 Einige Kommentare zu Stack m 1 0.4 Resümee l 1 1 Das Klassenkonzept m 1 1.1 Motivation n 1 1.1.1 Klassen als Mittel zur Abstraktion n 1 1.1.2 Klassen und das Geheimnisprinzip m 1 1.2 Element-Funktionen n 1 1.2.1 inline-Element-Funktionen n 1 1.2.2 const-Element-Funktionen m 1 1.3 this-Zeiger m 1 1.4 Der Zugriffsschutz bei Klassen n 1 1.4.1 Zugriffsschutz mit public, protected und private n 1 1.4.2 friend-Funktionen und -Klassen m 1 1.5 static-Klassen-Elemente m 1 1.6 Geschachtelte Klassen m 1 1.7 Spezielle Element-Funktionen und Operatoren file:///D|/Cool Stuff/old/ftp/preview/mysql/C++_Programmieren_mit_Stil/Cppbuch/NODE3.HTM (5 von 11) [10.09.2000 10:01:17] Inhalt n 1 1.7.1 Konstruktoren n O bjekt-Initialisierung mittels Initialisierungsliste n Ü berladen von Konstruktoren n D er Copy-Konstruktor n 1 1.7.2 Destruktoren n 1 1.7.3 Überladen von Operatoren n A llgemeines zum Überladen von Operatoren n Im plementierung von speziellen Operatoren n D er Indexoperator [] n D er Operator () n D ie Operatoren new, delete n D er Zuweisungsoperator = n D ie Ein-/Ausgabeoperatoren >> und << n 1 1.7.4 Automatisch generierte Element-Funktionen und kanonische Form von Klassen n 1 1.7.5 Benutzerdefinierte Typumwandlungen n T ypumwandlung mit Konstruktoren n T ypumwandlungen mit Umwandlungsoperatoren m 1 1.8 Weiterführende Themen n 1 1.8.1 Zeiger auf Klassen-Elemente n 1 1.8.2 Varianten n 1 1.8.3 Bitfelder m 1 1.9 Beispiele und Übungen n 1 1.9.1 Klasse Date n T hemenbereich n K omplexität n A ufgabenstellung n 1 1.9.2 Klasse Counter n T hemenbereiche n K omplexität n A ufgabenstellung n 1 1.9.3 Gültigkeitsbereich, Sichtbarkeit und Lebensdauer n T hemenbereiche file:///D|/Cool Stuff/old/ftp/preview/mysql/C++_Programmieren_mit_Stil/Cppbuch/NODE3.HTM (6 von 11) [10.09.2000 10:01:17] Inhalt n K omplexität n A ufgabenstellung n 1 1.9.4 Klasse Calculator n T hemenbereiche n K omplexität n A ufgabenstellung n H intergrundwissen n 1 1.9.5 Klasse List n T hemenbereiche n K omplexität n A ufgabenstellung n 1 1.9.6 Klasse Rational n T hemenbereiche n K omplexität n A ufgabenstellung l 1 2 Templates m 1 2.1 Motivation m 1 2.2 Funktions-Templates n 1 2.2.1 Ausprägung von Funktions-Templates n 1 2.2.2 Überladen von Funktions-Templates m 1 2.3 Klassen-Templates n 1 2.3.1 Definition von Klassen-Templates n 1 2.3.2 Ausprägung von Klassen-Templates n 1 2.3.3 Geschachtelte Template-Klassen und friend n 1 2.3.4 Explizite Ausprägung und Spezialisierung n 1 2.3.5 Template-Typen m 1 2.4 Element-Templates m 1 2.5 Beispiele und Übungen n 1 2.5.1 Funktions-Template binSearch n T hemenbereich n K omplexität n A ufgabenstellung n H intergundwissen file:///D|/Cool Stuff/old/ftp/preview/mysql/C++_Programmieren_mit_Stil/Cppbuch/NODE3.HTM (7 von 11) [10.09.2000 10:01:17] Inhalt n 1 2.5.2 List-Template n T hemenbereich n K omplexität n A ufgabenstellung n H intergrundwissen n 1 2.5.3 Tree-Template n T hemenbereich n K omplexität n A ufgabenstellung n H intergrundwissen l 1 3 Vererbung m 1 3.1 Einführung n 1 3.1.1 Was heißt Vererbung? n 1 3.1.2 Begriffe im Zusammenhang mit Vererbung m 1 3.2 Ableiten einer Klasse m 1 3.3 Die Is-A-Beziehung m 1 3.4 Vererbung und Gültigkeitsbereiche m 1 3.5 Element-Funktionen bei abgeleiteten Klassen n 1 3.5.1 Konstruktoren n 1 3.5.2 Copy-Konstruktor n 1 3.5.3 Destruktor n 1 3.5.4 Zuweisungsoperator n 1 3.5.5 Überschreiben von ererbten Methoden m 1 3.6 Spezifikation von Basisklassen m 1 3.7 Beispiele und Übungen n 1 3.7.1 Klasse Word n T hemenbereich n A ufgabenstellung l 1 4 Polymorphismus und spezielle Aspekte der Vererbung m 1 4.1 Polymorphismus m 1 4.2 Virtuelle Element-Funktionen n 1 4.2.1 Deklaration von virtuellen Element-Funktionen n 1 4.2.2 Aufruf von virtuellen Element-Funktionen file:///D|/Cool Stuff/old/ftp/preview/mysql/C++_Programmieren_mit_Stil/Cppbuch/NODE3.HTM (8 von 11) [10.09.2000 10:01:17] Inhalt n 1 4.2.3 Virtuelle Destruktoren n 1 4.2.4 Überschreiben von nicht virtuellen Element-Funktionen n 1 4.2.5 Is-A-Vererbung als Programming by Contract n 1 4.2.6 Repräsentation polymorpher Objekte im Speicher m 1 4.3 Abstrakte Basisklassen und rein virtuelle Element-Funktionen m 1 4.4 Mehrfachvererbung m 1 4.5 Virtuelle Basisklassen m 1 4.6 Laufzeit-Typinformation n 1 4.6.1 Typumwandlung mit dynamic_cast n 1 4.6.2 Der typeid-Operator n 1 4.6.3 Erweiterung und Einsatz der Typinformation m 1 4.7 Beispiele und Übungen n 1 4.7.1 Klassenhierarchie Animals n T hemenbereich n K omplexität n A ufgabenstellung n 1 4.7.2 CellWar n T hemenbereich n K omplexität n A ufgabenstellung n 1 4.7.3 Klassenhierarchie Maze n T hemenbereich n K omplexität n A ufgabenstellung n 1 4.7.4 Klassenhierarchie Kellerbar n T hemenbereich n K omplexität n A ufgabenstellung l 1 5 Ausnahmebehandlung m 1 5.1 Motivation m 1 5.2 Ausnahmebehandlung in C++ m 1 5.3 Auslösen von Ausnahmen und Ausnahme-Objekte m 1 5.4 Ausnahme-Handler file:///D|/Cool Stuff/old/ftp/preview/mysql/C++_Programmieren_mit_Stil/Cppbuch/NODE3.HTM (9 von 11) [10.09.2000 10:01:17]

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.