C++: Objekte einer Klasse in der Klassendefinition

Hallo,

beim übertragen einer Delphi-Klasse für (Binär-)Bäume stoße ich gerade auf ein mMn. seltsames Problem bei C++. Und zwar möchte ich dem Baum neben seinem Inhalt auch seine beiden (Child-)Bäume als Attribut geben. Das sieht dann so aus:


Code:
#include ...
using namespace std;

class BinBaum{
   public:
        < ... >
   private:
        <...>
        BinBaum LinkerTeilbaum;
        BinBaum RechterTeilbaum;
        <...>
}
Beim Kompilieren des Quelltextes zu der Klasse bekomme ich folgende Fehlermeldung:
\BinBaum.h field `LinkerTeilbaum' has incomplete type
Analog dazu das selbe mit dem rechten Teilbaum.

Ich nutze Dev-Cpp, MinGW ist der Compiler.

Die Klasse in Delphi würde so aussehen:
Code:
type
  TBinBaum = class
     public:
       <...>
     private:
       <...>
       LinkerTeilbaum: TBinBaum;
       RechterTeilbaum: TBinBaum;
       <...>
     end;

Und das funktioniert in C++ scheinbar nicht, was mich wundert.

Wie kann ich sowas also in C++ lösen? Habe bereits gegoogelt, allerdings findet man diese Fehler dort eher bei Klassen von Drittanbietern, die noch gelinkt werden müssen o.ä.
Eine richtige Abhilfe habe ich gestern abend dazu nicht gefunden.

Versucht habe ich es auch schon mit einer Vorwärtsdeklaration, die hat allerdings auch nichts gebracht.

Danke schonmal :)

Grüße,
jemo.
 
Gut, das hat sich doch gerade erledigt.

Dazu sind Zeiger da..

Also sieht meine Klasse nun so aus:

Code:
#include ...
using namespace std;

class BinBaum{
   public:
        < ... >
   private:
        <...>
        BinBaum* LinkerTeilbaum;
        BinBaum* RechterTeilbaum;
        <...>
}
 
Zurück
Oben