2 Klassen die sich gegenseitig kennen?
-
Hi
Wie schaffe ich es am elegantesten dass sich 2 Klassen gegenseitig kennen? Auch wenn ich gegenseitig include Anweisungen für die Header in die jeweiligen Headerdateien einfüge, kann ich nicht als Membervariablen Zeiger auf die jeweils andere Klasse benutzen. Visual C++ meckert dann, dass er die Klasse nicht kennt.
Danke
Stefan
-
forward deklaration.
-
Geht aber trotzdem. Schau mal in den FAQ nach. Da müsste das eigentlich beschrieben stehen.
Binde die "Klasse2.h" in "Klasse1.h" ein und schreibe über "class Klasse2{...}" einfach ein "class Klasse1**;**". Dann "kennen die sich".
EDIT: Peter the Master" war schneller...[ Dieser Beitrag wurde am 11.06.2003 um 19:18 Uhr von MaSTaH editiert. ]
-
klappt leider nicht. ich kriege immer noch die Meldung
error C2027: use of undefined type 'CF_Lader'Beide Klassen sind Kindklassen einer Vaterklasse. Als Membervariable hat jede einen Zeiger auf die andere Klasse, z.b
CF_Lader* myLader;In den Klassen wird kein Objekt initialisiert, nur der Zeiger an passender Stelle mit dem Wert der anderen Klasse beschrieben. Aber wie gesagt, es geht nicht
Danke trotzdemStefan
-
a.h class B; class A { B * b; }; a.cpp #include "a.h" #include "b.h" --------------- b.h class A; class B { A * a; }; b.cpp #include "b.h" #include "a.h"