Jestem nowym do C++, więc to pytanie może być podstawowy:dwóch klas, które odnoszą się do siebie
mam dwie klasy, które muszą odnosić się do siebie. Każdy jest w osobnym pliku nagłówkowym, a # include jest plikiem nagłówkowym drugiego. Kiedy próbuję skompilować, pojawia się błąd "ISO C++ zabrania deklarowania" Foo "bez typu" dla jednej z klas. Jeśli przełączam rzeczy, aby pierwszy nagłówek został najpierw przeanalizowany, otrzymam ten sam błąd w drugiej klasie.
Czy w C++ istnieją dwie klasy, które wymagają wzajemnego odniesienia?
Aby uzyskać więcej szczegółów: Mam klasę "App" i "Window". Aplikacja musi odwoływać się do okna, aby utworzyć okno. Okno ma przycisk, który oddzwania do aplikacji, więc potrzebuje odniesienia do aplikacji. Jeśli nie mogę mieć dwóch klas odwoływać się do siebie, czy istnieje lepszy sposób na wdrożenie tego?
Należy zauważyć, że w miarę możliwości należy unikać wzajemnych zależności. Czy ma sens faktoring funkcjonalności wywoływanej przez przyciski w aplikacji na osobny obiekt kontrolny? –
Ten problem występuje dość często w moich małych grach. Mam obiekt World zawierający obiekty Game, które muszą odwoływać się do obiektu World dla np. Wykrywanie kolizji. Nie znalazłem dobrego sposobu, aby to zmienić. (A tak przy okazji, budząc 7-letnią dyskusję, żeby zdobyć mi jakąś odznakę) – Johan