Zwei Klassen includen sich gegenseitig, wie?
-
Hi,
(evt. c++noob-Frage..)
Ich hab zwei Klassen (z.B. Eltern-Kind), welche sich gegenseitig kennen muessen. Wenn ich jetzt aber in beiden Headern jeweils den anderen include, so haut das nicht hin. Wie muss ich das anstellen, dass beide Klassen jeweils den anderen kennen?
-
eine forward deklaration machen:
class a;//foward class b { }; class a{ };
-
Hm, ich greif in der einen Klasse auf eine Funktion der anderen zu. Kann ich in der forward deklaration auch Funktionen dieser Klasse angeben?
-
durito schrieb:
Kann ich in der forward deklaration auch Funktionen dieser Klasse angeben?
Wenn die Funktion nicht inline ist, ist das unnötig. In der .cpp-Datei "A.cpp" kannst du ohne Probleme schreiben:
#include "A.h" #include "B.h"
-
Achso ja, das sollte hinhauen
thx!