Vererbung sinnvoll?
-
Hi!
ist folgende Vererbung sinnvoll?Klasse View:
class View : public Widget { public: virtual void display() = 0; };Klasse GraphicWidget:
class GraphicWidget : public Widget { // (..) };Klasse GraphicView:
class GraphicView : public View, public: GraphicWidget { // (..) };Kann es zu Problemen kommen, da View von Widget erbt und GraphicView von View und GraphicWidget?
Danke
-
Welchen Sinn und Zweck hat GraphicWidget und View? Stell dir dir Frage, und du wirst ne andere Lösung finden.
-
-
Karl-Wolf schrieb:
Kann es zu Problemen kommen, da View von Widget erbt und GraphicView von View und GraphicWidget?
Ja, kann es. Mehrfachvererbung kann je nach dem wie man sie einsetzt Probleme geben. Eine Lösung hierbei nennt sich abstrakte Basisklasse, und virtuelle Vererbung...
Siehe auch:
http://www.parashift.com/c++-faq-lite/multiple-inheritance.html
http://www.gotw.ca/gotw/ (Thema 37-39)cu André
-
Danke. Ich habe mir mein Vorgehen nochmal genau überlegt und bin zum Entschluss gekommen, dass ich die View-Klasse nicht brauche.