Własny typ w pliku nagłówkowym

0

Witam.
Mam klase typu a
i w pliku naglowkowym: a.h chcę zdefiniować pole typu klasy b .
Błąd jaki mi wywala:
error: 'typB’ does not name a type
Jak temu zaradzić?

0

Dodać

class b;

przed deklaracją klasy a?

0

Jeżeli chcesz zrobić konstrukcje w stylu:

class A{
   B b;
};

to klasa B musi być w pełnie zdefiniowana, najlepiej przez dodanie pliku nagłówkowego z jej strukturą. Jeżeli natomiast chcesz mieć w klasie A wskaźnik lub referencję do klasy B to wystarczy dodać, jak już napisano, class B;:

 
class B;
class A{
   B* ptrB;
   B& refB;
};

Jest to niezbędne, gdy chcesz zrobić krzyżowe deklaracje klas, tzn mieć w klasie A pole klasy B i w klasie B pole klasy A, np. gdy masz klasy dzieci i rodzice i chcesz u dzieci przechowywać kto jest rodzicem i u rodziców kto jest dzieckiem.

1 użytkowników online, w tym zalogowanych: 0, gości: 1