Subklasse in Basisklasse verwenden
-
Hey habe ein kleines problem
Ich brauche die subklasse in einer methode der basisklasse.
Sobald ich aber die subklasse in der basisklasse includiere erhalte ich einen kompilerfehler IN DER SUBKLASSEvektor.h(10): error C2504: 'Matrix': Basisklasse undefiniert [code="cpp"] die headers sind mit header guards geschützt [code="cpp"] #ifndef __MATRIX_h__ #define __MATRIX_h__ #include "Vektor.h"
#ifndef __Vektor_h__ #define __Vektor_h__ #include "Matrix.h"
hat jemand eine idee?
-
Stichwort: "Cross include" -> und das geht nicht (überlege mal, was beim #include passiert?)
Allgemein Lösung: Forward declarations
Aber warum benötigt eine Methode der Basisklasse eine konkrete Subklasse? Benutzt du "double dispatch" oder hast du einen Designfehler?
Ich hoffe mal, daß du nicht Matrix von Vektor erben läßt!?
Und mir fällt auch keine (Klassen-)Methode ein, warum ein Vektor eine Matrix benötigt.