Breymann. C++ Einführung und professionelle Programmierung

Breymann. C++ Einführung und professionelle Programmierung Breymann. C++ Einführung und professionelle Programmierung

vred.bioinf.uni.sb.de
von vred.bioinf.uni.sb.de Mehr von diesem Publisher
17.11.2014 Aufrufe

#ifndef quadrat_h #define quadrat_h #include"rechteck.h" class Quadrat : public Rechteck { // siehe Text public: Quadrat(const Ort &O, int seite) : Rechteck(O, seite, seite) {} // Definition der rein virtuellen Methoden // Bezugspunkt(), Flaeche(), Hoehe() werden geerbt virtual void zeichnen() const { GraphObj::zeichnen(); std::cout

Das Hauptprogramm ruft die Methoden der graphischen Objekte polymorph auf. Entscheidend ist nicht der (statische) Typ des Zeigers, sondern der polymorphe oder dynamische Typ, dass heißt, der Typ des Objektes, auf das der Zeiger verweist. Dasselbe gilt für Referenzen. #include"strecke.h" #include"quadrat.h" // schließt rechteck.h ein int main() { // GraphObj G; // Fehler! // Instanzen abstrakter Klassen gibt es nicht Rechteck R(Ort(0,0), 20, 50); Strecke S(Ort(1,20), Ort(200,0)); Quadrat Q(Ort(122, 99), 88); // Feld mit Basisklassenzeigern, initialisiert mit // den Adressen der Objekte und 0 als Endekennung GraphObj* GraphObjZeiger[] = {&R, &S, &Q, 0}; Breymann C++, c○ Hanser Verlag München Inhalt ◭◭ ◭ ◮ ◮◮ 335 zurück Ende

#ifndef quadrat_h<br />

#define quadrat_h<br />

#include"rechteck.h"<br />

class Quadrat : public Rechteck { // siehe Text<br />

public:<br />

Quadrat(const Ort &O, int seite)<br />

: Rechteck(O, seite, seite) {}<br />

// Definition der rein virtuellen Methoden<br />

// Bezugspunkt(), Flaeche(), Hoehe() werden geerbt<br />

virtual void zeichnen() const {<br />

GraphObj::zeichnen();<br />

std::cout

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!