Pure virtual Functions und abstrakte Klassen

In der Beispiel-Klasse Shape  wurde nichts weiter über die Draw() Methode gesagt
\bgroup\color{green}\ensuremath{\Rightarrow}\egroup geht auch nicht, weil Shape  diese Methode nicht sinnvoll implementieren kann.

Was dann ?
Shape::Draw() { cout <<"Shapes can't draw ";}

Aber besser: Deklaration als pure virtual Funktion in Class Shape { ...} mit
virtual Draw() = 0;

Die Existenz einer pure virtual Funktion in einer Klasse hat drastische Konsequenzen:


GDuckeck 2019-08-01