Wie kann ich eine Klasse nutzen die noch nicht deklariert wurde?

Oft steht man vor dem Problem, dass man eine Klasse nutzen möchte die noch nicht deklariert wurde, bzw. man in zwei verschiedenen Klassen Objekte der jeweils anderen Klasse anlegen möchte. Das Problem kann wie folgt gelöst werden:

class A
{
my_b=new B;
};

class B
{
my_b=new A;
};

Im obigen Beispiel wird also in der Klasse A ein Objekt der Klasse B angelegt. Die ist aber noch gar nicht deklariert. Und auch in der Klasse B wird wiederum ein Objekt der Klasse A angelegt. Ein Vertauschen der Deklarationen würde also am Problem nichts ändern.
Lösung:

class B;
class A
{
my_b=new B;
};

class B
{
my_b=new A;
};

Durch die hinzugefügte Zeile, teilen wir dem Compiler erstmal mit, dass es eine Klasse B gibt. Damit ist dieser erstmal zufrieden, den die Deklaration kommt ja etwas später.

Zur Übersicht