Forum: Compiler & IDEs Zwei Klassen mit "gegenseitigem Bezug" ?


von Stevinger (Gast)


Lesenswert?

Hallo,

ich habe hier eine Art Henne-Ei-Problem:

Ich habe zwei Klassen definiert, in welcher jeweils ein Zeiger auf die 
andere sein soll:
1
class A
2
{
3
  private:
4
    B *b;
5
  public:
6
    A(B *b): b(b) {};
7
};
8
9
class B
10
{
11
  private:
12
    A *a;
13
  public:
14
    B(A *a): a(a) {};
15
};

So will das der Compiler natürlich nicht schlucken, weil er B in der 
Definition von A noch nicht kennt. Gibt es da eine Möglichkeit sowas 
trotzdem hinzubekommen ?

Gruß
Stevinger

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Aber sicher doch:

Schreib als allererste Zeile
1
class B;

Damit deklarierst Du, daß es eine Klasse namens B gibt - und da die nur 
über Pointer angesprochen wird, ist mehr Wissen über diese Klasse auch 
nicht erforderlich.

Die später folgende erneute vollständige Deklaration stört nicht.

von Stevinger (Gast)


Lesenswert?

Super, um nicht zu sagen "Klasse" ;-)

Vielen Dank

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.