Breymann. C++ Einführung und professionelle Programmierung
Breymann. C++ Einführung und professionelle Programmierung Breymann. C++ Einführung und professionelle Programmierung
2.4.3 Fallunterscheidungen (switch) . . . . . . . . . . . . . . . . . . . . . . . . . . 48 2.4.4 Schleifen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 2.4.5 Kontrolle mit break und continue . . . . . . . . . . . . . . . . . . . . . . . . 60 2.5 Benutzerdefinierte und zusammengesetzte Datentypen . . . . . . . . . . . . . . . . 64 2.5.1 Aufzählungstypen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 2.5.2 Arrays: Der C++ Standardtyp vector . . . . . . . . . . . . . . . . . . . . . . . 67 2.5.3 Zeichenketten: Der C++ Standardtyp string . . . . . . . . . . . . . . . . . . . 76 2.5.4 Strukturierte Datentypen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 3 Einfache Ein- und Ausgabe 81 3.1 Standard- Ein- und -Ausgabe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 3.2 Ein- und Ausgabe mit Dateien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 4 Programmstrukturierung 89 4.1 Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 4.1.1 Aufbau und Prototypen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 4.1.2 Gültigkeitsbereiche und Sichtbarkeit in Funktionen . . . . . . . . . . . . . . 94 4.2 Schnittstellen zum Datentransfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 4.2.1 Übergabe per Wert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 4.2.2 Übergabe per Referenz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 4.2.3 Gefahren bei der Rückgabe von Referenzen . . . . . . . . . . . . . . . . . . . 104 4.2.4 Vorgabewerte und variable Parameterzahl . . . . . . . . . . . . . . . . . . . 105 4.2.5 Überladen von Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 4.2.6 Funktion main . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 4.3 Grundsätze der modularen Gestaltung . . . . . . . . . . . . . . . . . . . . . . . . . . 111 4.3.1 Steuerung der Übersetzung mit #include . . . . . . . . . . . . . . . . . . . . 112 Breymann C++, c○ Hanser Verlag München Inhalt ◭◭ ◭ ◮ ◮◮ 4 zurück Ende
4.3.2 Einbinden vorübersetzter Programmteile . . . . . . . . . . . . . . . . . . . . 113 4.3.3 Dateiübergreifende Gültigkeit und Sichtbarkeit . . . . . . . . . . . . . . . . 118 4.3.4 Übersetzungseinheit, Deklaration und Definition . . . . . . . . . . . . . . . 121 4.3.5 Compilerdirektiven . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 4.4 Funktions-Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 4.5 inline-Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 5 Objektorientierung 1 143 5.1 Abstrakte Datentypen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 5.2 Klassen und Objekte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 5.2.1 inline-Elementfunktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 5.3 Initialisierung und Konstruktoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 5.3.1 Standardkonstruktor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 5.3.2 Allgemeine Konstruktoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 5.3.3 Kopierkonstruktor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 5.3.4 Typumwandlungskonstruktor . . . . . . . . . . . . . . . . . . . . . . . . . . 168 5.4 Beispiel: Klasse für rationale Zahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 5.4.1 Aufgabenstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 5.4.2 Entwurf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 5.4.3 Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 5.5 const-Objekte und Methoden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 5.6 Faustregeln zur Konstruktion von Schnittstellen . . . . . . . . . . . . . . . . . . . . 189 5.7 Destruktoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 5.8 Wie kommt man zu Klassen und Objekten? Ein Beispiel . . . . . . . . . . . . . . . . 201 5.8.1 Einige Analyse-Überlegungen . . . . . . . . . . . . . . . . . . . . . . . . . . 203 Breymann C++, c○ Hanser Verlag München Inhalt ◭◭ ◭ ◮ ◮◮ 5 zurück Ende
- Seite 1 und 2: Objektorientierte Programmierung mi
- Seite 3: Inhalt 1 Einführung 9 2 Grundlegen
- Seite 7 und 8: 7.3.2 Stack mit statisch festgelegt
- Seite 9 und 10: 1. Einführung Aufgaben eines Rechn
- Seite 11 und 12: Klassen Klasse = Beschreibung von O
- Seite 13 und 14: Kursaufbau • Daten Datentypen, -s
- Seite 15 und 16: 2. Grundlegende Begriffe - das erst
- Seite 17 und 18: C++ C PASCAL #include #include int
- Seite 19 und 20: 2.2 Einfache Datentypen und Operato
- Seite 21 und 22: 2.2.2 Ganze Zahlen Typische Werte f
- Seite 23 und 24: Operator Beispiel Bedeutung Kurzfor
- Seite 25 und 26: Operator Beispiel Bedeutung Bit-Ope
- Seite 27 und 28: Syntax: Vorzeichen (optional) Vorko
- Seite 29 und 30: #include #include // math. Biblioth
- Seite 31 und 32: Strukturierung mit Klammern (). Kla
- Seite 33 und 34: 2.2.5 Zeichen 3 verschiedene Typen:
- Seite 35 und 36: i = 66; c = static_cast(i); // Typu
- Seite 37 und 38: 2.2.6 Logischer Datentyp Datentyp:
- Seite 39 und 40: 2.2.7 Referenzen Referenz = Verweis
- Seite 41 und 42: { // Blockbeginn int a = 1; { // Bl
- Seite 43 und 44: 2.4.2 Auswahl (Selektion, Verzweigu
- Seite 45 und 46: Auswertung des Bedingungsausdrucks
- Seite 47 und 48: Bedingungsoperator ?: Bedingung ? A
- Seite 49 und 50: #include using namespace std; int m
- Seite 51 und 52: nein ✛ ❄ ❅ ❅ ❅ Bedingun
- Seite 53 und 54: Schleifen mit do while Wirkung: ✛
4.3.2 Einbinden vorübersetzter Programmteile . . . . . . . . . . . . . . . . . . . . 113<br />
4.3.3 Dateiübergreifende Gültigkeit <strong>und</strong> Sichtbarkeit . . . . . . . . . . . . . . . . 118<br />
4.3.4 Übersetzungseinheit, Deklaration <strong>und</strong> Definition . . . . . . . . . . . . . . . 121<br />
4.3.5 Compilerdirektiven . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127<br />
4.4 Funktions-Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136<br />
4.5 inline-Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141<br />
5 Objektorientierung 1 143<br />
5.1 Abstrakte Datentypen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144<br />
5.2 Klassen <strong>und</strong> Objekte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148<br />
5.2.1 inline-Elementfunktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154<br />
5.3 Initialisierung <strong>und</strong> Konstruktoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157<br />
5.3.1 Standardkonstruktor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157<br />
5.3.2 Allgemeine Konstruktoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159<br />
5.3.3 Kopierkonstruktor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165<br />
5.3.4 Typumwandlungskonstruktor . . . . . . . . . . . . . . . . . . . . . . . . . . 168<br />
5.4 Beispiel: Klasse für rationale Zahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . 172<br />
5.4.1 Aufgabenstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172<br />
5.4.2 Entwurf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175<br />
5.4.3 Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181<br />
5.5 const-Objekte <strong>und</strong> Methoden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188<br />
5.6 Faustregeln zur Konstruktion von Schnittstellen . . . . . . . . . . . . . . . . . . . . 189<br />
5.7 Destruktoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198<br />
5.8 Wie kommt man zu Klassen <strong>und</strong> Objekten? Ein Beispiel . . . . . . . . . . . . . . . . 201<br />
5.8.1 Einige Analyse-Überlegungen . . . . . . . . . . . . . . . . . . . . . . . . . . 203<br />
<strong>Breymann</strong> <strong>C++</strong>, c○ Hanser Verlag München<br />
Inhalt ◭◭ ◭ ◮ ◮◮ 5 zurück Ende