000
20.12.2004, 16:34 Uhr
kuehlwalda
|
Hi,
man kann in verschiedenen Lehrbüchern oder auf Websides über UML die Implementierung von bidirektionalen Assoziationen zwischen Klassen finden; für alle die damit nichts anfangen können, folgendes Beispiel:
C++: |
class Klasse1 { public: Klasse2* ptr2; // Zeiger auf Klasse "Klasse2" ... } ;
class Klasse2 { public: Klasse1* ptr1; // vgl. oben ... } ;
|
Es handelt sich in der Implementierung also einfach um zwei Klassen, auf die GEGENSEITIG mittels Zeigern zugegriffen werden soll.
Wenn ich nun diese Schema aber in einem Beispielsprogramm anwende, also
C++: |
#include "Klasse1.h" #include "Klasse2.h"
int main() { ... }
|
gibt der Kompiler eine Fehlermeldung aus: "Klasse2 was not declared in this scope". Was muss man also tun, damit man in einer Anwendung zwei Klassen implementieren kann, die sich gegenseitig kennen, sprich wie kann ich es machen, dass ich von Klasse1 aus auf Klasse2 zugreifen kann und umgekehrt, und das eben innerhalb einer geschlossenen Anwendung, wie das letzte Minibeispiel? Hat jemand eine Idee, vielleicht mit kompletten Minibeispiel?
Gruß Julio
Bearbeitung von Pablo: |
WIE OFT MUSS MAN DENN EUCH NOCH SAGEN, DASS IHR DIE CPP TAGS SELBER BENUTZEN SOLLT? SOLLTET IHR NICHT TUN, SCHLIEßE ICH DEN THREAD!
|
Dieser Post wurde am 20.12.2004 um 17:27 Uhr von Pablo editiert. |