Breymann. C++ Einführung und professionelle Programmierung
Breymann. C++ Einführung und professionelle Programmierung Breymann. C++ Einführung und professionelle Programmierung
3. inline-Deklaration außerhalb der Klasse. Nicht empfehlenswert! (Linker kann Probleme bekommen) Beispiel: // in ort1.h class Ort1 { // Version 4 }; // ... wie oben int X() const; // in ort1.cpp! inline int Ort1::X() const { return xKoordinate; } // falsch Breymann C++, c○ Hanser Verlag München Inhalt ◭◭ ◭ ◮ ◮◮ 156 zurück Ende
5.3 Initialisierung und Konstruktoren Objekte können mit Konstruktoren während der Definition initialisiert, also mit sinnvollen Anfangswerten versehen werden - ein wesentlicher Vorteil der OOP! Konstruktoren haben keinen Return-Typ, auch nicht void. 5.3.1 Standardkonstruktor Der Standardkonstruktor hat keine Argumente (Erweiterung der obigen Klasse): Ort1::Ort1() { xKoordinate = 0; yKoordinate = 0; } Anwendung: // neuer Standardkonstruktor // Koordinaten des Nullpunkts Ort1 OrtObjekt; cout
- Seite 105 und 106: 4.2.4 Vorgabewerte und variable Par
- Seite 107 und 108: 4.2.5 Überladen von Funktionen der
- Seite 109 und 110: 4.2.6 Funktion main Varianten: int
- Seite 111 und 112: 4.3 Grundsätze der modularen Gesta
- Seite 113 und 114: 4.3.2 Einbinden vorübersetzter Pro
- Seite 115 und 116: mainprog.cpp #include "a.h" #includ
- Seite 117 und 118: Üblich: make-Files oder „Projekt
- Seite 119 und 120: Beschränkung des Gültigkeitsberei
- Seite 121 und 122: 4.3.4 Übersetzungseinheit, Deklara
- Seite 123 und 124: one definition rule Jede Variable,
- Seite 125 und 126: Inhalt von Implementations-Dateien
- Seite 127 und 128: 4.3.5 Compilerdirektiven sind Anwei
- Seite 129 und 130: Makros mit #define zum Ersetzen von
- Seite 131 und 132: Eine weitere übliche Anwendung von
- Seite 133 und 134: Nur mit den Sprachelementen von C++
- Seite 135 und 136: Verifizieren logischer Annahmen mit
- Seite 137 und 138: template int kleiner(const T& a, co
- Seite 139 und 140: * Erst in der folgenden Anweisung w
- Seite 141 und 142: 4.5 inline-Funktionen inline ist ei
- Seite 143 und 144: 5. Objektorientierung 1 - Abstrakte
- Seite 145 und 146: } // ... Protokollierung Punkt einP
- Seite 147 und 148: Eigenschaften: • Der Sinn liegt d
- Seite 149 und 150: class Klassenname { public: Typ Ele
- Seite 151 und 152: Anwendung: // ort1main.cpp #include
- Seite 153 und 154: aendern() soll Änderungen der Koor
- Seite 155: 2. Deklaration und Definition inner
- Seite 159 und 160: 5.3.2 Allgemeine Konstruktoren Allg
- Seite 161 und 162: Initialisierung mit Listen Beispiel
- Seite 163 und 164: }; private: int xKoordinate, yKoord
- Seite 165 und 166: 5.3.3 Kopierkonstruktor engl.: copy
- Seite 167 und 168: Übergabe von Objekten an eine Funk
- Seite 169 und 170: Zahl bilden int Koordinate = 0; whi
- Seite 171 und 172: Verhindern impliziter Typwandlungen
- Seite 173 und 174: Folgende Funktionen sollen von der
- Seite 175 und 176: Beschränkungen und Hinweise - Kür
- Seite 177 und 178: Möglichkeiten für Operationen mit
- Seite 179 und 180: void eingabe(); void ausgabe() cons
- Seite 181 und 182: 5.4.3 Implementation void rational:
- Seite 183 und 184: void rational::sub(const rational&
- Seite 185 und 186: long ggt(long x, long y) { // wird
- Seite 187 und 188: ational mult(const rational& a, con
- Seite 189 und 190: 5.6 Faustregeln zur Konstruktion vo
- Seite 191 und 192: Regeln: 1. Die geplante Anwendung b
- Seite 193 und 194: 5. Die Art der Übergabe eines Obje
- Seite 195 und 196: (a) Diese Anweisung wird von links
- Seite 197 und 198: Natürlich kann von den Empfehlunge
- Seite 199 und 200: class Beispiel { int zahl; public:
- Seite 201 und 202: 5.8 Wie kommt man zu Klassen und Ob
- Seite 203 und 204: 5.8.1 Einige Analyse-Überlegungen
- Seite 205 und 206: 6. Intermezzo: Zeiger - Zeiger und
5.3 Initialisierung <strong>und</strong> Konstruktoren<br />
Objekte können mit Konstruktoren während der Definition initialisiert,<br />
also mit sinnvollen Anfangswerten versehen werden - ein wesentlicher<br />
Vorteil der OOP! Konstruktoren haben keinen Return-Typ, auch nicht<br />
void.<br />
5.3.1 Standardkonstruktor<br />
Der Standardkonstruktor hat keine Argumente (Erweiterung der obigen<br />
Klasse):<br />
Ort1::Ort1() {<br />
xKoordinate = 0;<br />
yKoordinate = 0;<br />
}<br />
Anwendung:<br />
// neuer Standardkonstruktor<br />
// Koordinaten des Nullpunkts<br />
Ort1 OrtObjekt;<br />
cout