2 Klassen Verbinden
-
Hallo Leute,
wollte einmal fragen wie ich es machen kann, dass zwei verschiedene Klassen sich gegenseitig beeinflussen können - sprich Klasse A kann methoden von Klasse B aufrufen und umgekehrt.
-
Im Header machst Du die Verweise auf die jeweiligen Klassen nur über Zeiger/Referenzen und inkludierst den Header der anderen Klasse nicht, sondern machst nur eine Forward Declaration.
In den Quellcodedateien jedoch inkludierst Du jeweils auch den anderen Header.
So hat man keine zirkulären Abhängigkeiten, weil die Header von der anderen Klasse eigentlich nichts wissen, aber die Aufrufe, die in den Quellcodedateien sind, können dennoch stattfinden.
-
genau vor dem Problem stand ich und wusste nicht wie mans lösen kann - danke sehr

-
Eisflamme schrieb:
Im Header machst Du die Verweise auf die jeweiligen Klassen nur über Zeiger/Referenzen
Du brauchst keine Zeiger oder Referenzen. Wenn du es so machst:
class A; class B; class A { //Definition von A }; class B { //Definition von B }; // Definition von As Memberfunktionen A::A ... // Definition von Bs Memberfunktionen B::B ...Dann kannst du auch regulaere Stackobjekte als bspw. Funktionsparameter nehmen.
-
Oh, mein Fehler, umso besser.

-
Eisflamme schrieb:
Oh, mein Fehler, umso besser.

Ich hab mal genau dasselbe wie du geschrieben und wurde dann genauso von Gugelmoser korrigiert

-
Mal sehen, wen ich dann korrigieren darf
