Rekursive Includes
-
Hallo
ich nehme pro Klasse ein Paar .cpp/.h .
Klasse A benötigt Attribute von Klasse B und Klasse B
benütigt Attribute von Klasse A.Wenn ich in klasse_a.h
#include "klasse_b."
schreibe und in klasse_b.h
#include "klasse_a.h"(genauer schreibe ich natürlich:
#if !defined KLASSE_B
#include "klasse_b.h"
#define KLASSE_B
#endif
)dann setzt es eine Fehlermeldung wie "Incluces zu tief geschachtelt".
Das sehe ich auch ein. Aber wie *vermeidet* man solche zirkulären
Includes am besten ? Vom Prinzip "eine Klasse - ein Paar .cpp/.h"
will ich ungern abweichen.
-
Normalerweise reicht für die Deklaration der jeweiligen Klassen eine Forward-Deklaration der anderen Member:
//A.H class B; class A { ... private: B* my_b; ... }; //A.CPP #include "A.H" #include "B.H" //Definition der A-Methoden(das Dateipaar für B wird analog aufgebaut)
-
Danke; werde es gleich ausprobieren.
Grüße