Breymann. C++ Einführung und professionelle Programmierung
Breymann. C++ Einführung und professionelle Programmierung Breymann. C++ Einführung und professionelle Programmierung
Klasse Strecke #ifndef strecke_h #define strecke_h #include"graphobj.h" class Strecke : public GraphObj { // erben von GraphObj public: Strecke(const Ort &Ort1, const Ort &Ort2) : GraphObj(Ort1), // Initialisierung des Subobjekts Endpunkt(Ort2) // Initialisierung des Attributs { } // leerer Code-Block double Laenge() const { return Entfernung(Bezugspunkt(), Endpunkt); } private: Ort Endpunkt; // zusätzlich: 2. Punkt der Strecke // (der erste ist GraphObj::Referenzkoordinaten) }; #endif // strecke_h Breymann C++, c○ Hanser Verlag München Inhalt ◭◭ ◭ ◮ ◮◮ 306 zurück Ende
8.1 Vererbung und Initialisierung Initialisierung im Code-Block: Strecke(const Ort &Ort1, const Ort &Ort2) : GraphObj(Ort1) // Initialisierung des Subobjekts { } Endpunkt= Ort2; Die Initialisierung mit einer Initialisierungsliste ist generell vorzuziehen, weil das Objekt in einem Schritt mit den richtigen Werten initialisiert wird. Die Initialisierungsliste darf enthalten: • Elemente der Klasse selbst, aber keine vererbten Elemente, • Konstruktoraufrufe der Oberklassen Breymann C++, c○ Hanser Verlag München Inhalt ◭◭ ◭ ◮ ◮◮ 307 zurück Ende
- Seite 255 und 256: Lesen einer Datei double.dat mit do
- Seite 257 und 258: void upcase(char* s) { // In der AS
- Seite 259 und 260: 6.7.2 Gefahren bei der Rückgabe vo
- Seite 261 und 262: int main() { int a = 1700, b = 1000
- Seite 263 und 264: #include using namespace std; #incl
- Seite 265 und 266: 6.9 this-Zeiger • this ist ein Sc
- Seite 267 und 268: 7. Objektorientierung 2 - eine Stri
- Seite 269 und 270: const char& at(std::size_t position
- Seite 271 und 272: 7.1.1 friend-Funktionen Optionen f
- Seite 273 und 274: 3. friend-Funktion Falls es aus Lau
- Seite 275 und 276: • Die static-Funktion Anzahl() so
- Seite 277 und 278: Implementation der Klasse nummerier
- Seite 279 und 280: Der Kopierkonstruktor hat hier eine
- Seite 281 und 282: Der Destruktor vermerkt, dass es nu
- Seite 283 und 284: Anfang eines neuen Blocks { nummeri
- Seite 285 und 286: 7.2.1 Klassenspezifische Konstante
- Seite 287 und 288: template class simpleStack { publi
- Seite 289 und 290: • Der Datentyp T steht für einen
- Seite 291 und 292: cout
- Seite 293 und 294: 7.3.2 Stack mit statisch festgelegt
- Seite 295 und 296: Nur die Deklarationen in einem Anwe
- Seite 297 und 298: 8. Vererbung • Eigenschaften, die
- Seite 299 und 300: Die Unterklasse erbt von der Oberkl
- Seite 301 und 302: Jedes Objekt ObjA vom Typ A (=abgel
- Seite 303 und 304: Klasse GraphObj #ifndef graphobj_h
- Seite 305: Die Entfernung zwischen 2 GraphObj-
- Seite 309 und 310: Vererbung von Zugriffsrechten Regel
- Seite 311 und 312: Oberklasse wird mit der Zugriffsken
- Seite 313 und 314: 8.3 Code-Wiederverwendung In den ab
- Seite 315 und 316: 8.4 Überschreiben von Funktionen i
- Seite 317 und 318: Am Beispiel der Flächenberechnung
- Seite 319 und 320: 8.5.1 Virtuelle Funktionen Wirkung
- Seite 321 und 322: cout
- Seite 323 und 324: GrOptr = &GrO; // Zeiger auf GrO ri
- Seite 325 und 326: Aus diesen Punkten lässt sich eine
- Seite 327 und 328: Es gibt Kreise, Rechtecke, Linien,
- Seite 329 und 330: Bezugspunkt ermitteln Ort Bezugspun
- Seite 331 und 332: } // leerer Code-Block double Laeng
- Seite 334 und 335: #ifndef quadrat_h #define quadrat_h
- Seite 336 und 337: int i = 0; while(GraphObjZeiger[i])
- Seite 338 und 339: class Abgeleitet : public Basis { /
- Seite 340 und 341: ... immer wenn Basisklassenzeiger o
- Seite 342 und 343: #ifndef beschrif_h #define beschrif
- Seite 344 und 345: virtual void zeichnen() const { Rec
- Seite 346 und 347: 8.6.1 Namenskonflikte cout
- Seite 348 und 349: Subobjekt1: GraphObj Subobjekt2: Gr
- Seite 350 und 351: eschriftetesRechteck(const Ort &O,
- Seite 352 und 353: 8.6.3 Virtuelle Basisklassen und In
- Seite 354 und 355: class Unten: public Links, public R
Klasse Strecke<br />
#ifndef strecke_h<br />
#define strecke_h<br />
#include"graphobj.h"<br />
class Strecke : public GraphObj { // erben von GraphObj<br />
public:<br />
Strecke(const Ort &Ort1, const Ort &Ort2)<br />
: GraphObj(Ort1), // Initialisierung des Subobjekts<br />
Endpunkt(Ort2) // Initialisierung des Attributs<br />
{ } // leerer Code-Block<br />
double Laenge() const {<br />
return Entfernung(Bezugspunkt(), Endpunkt);<br />
}<br />
private:<br />
Ort Endpunkt; // zusätzlich: 2. Punkt der Strecke<br />
// (der erste ist GraphObj::Referenzkoordinaten)<br />
};<br />
#endif // strecke_h<br />
<strong>Breymann</strong> <strong>C++</strong>, c○ Hanser Verlag München<br />
Inhalt ◭◭ ◭ ◮ ◮◮ 306 zurück Ende