Krzyżowe include w c++

0

Mam dwa pliki naglowkowe w C++

#1

#include "klasa2.hpp"

class klasa1
{
 ....
obiekt klasa2
...

#2

#include "klasa1.hpp"

class klasa2
{
 ....
obiekt klasa1
...

I oczywiscie to wywola rekurencje podczas kompilacji.

Jak dodam #indef NAZWA_PLIKU_HPP itd to sie okazuje ze przy pierwszym pliku dolaczy drugi ale jednoczesnie jeszcze nie zna definicji klasa1 i nie moze przetworzyc pliku klasa2.h.

Co z takim fantem sie robi?

Zaznaczam ze rodzielenie tej krzyzowki jest niemozliwe bo projekt sie stanie bardzo nieczytelny itp

Z gory dziekuje za pomoc ;)

0

Może się mylę, ale czy takie coś jest w ogóle logiczne? To czasem nie spowodowałoby takiej pamięciowej rekurencji i wysypania programu?
Tworzymy obiekt A, on tworzy sobie składowy obiekt B, który tworzy sobie składowy obiekt A, który tworzy sobie składowy obiekt B, który ....

Chyba ze masz tam jakieś wskaźniki albo cokolwiek sensowniejszego. Wtedy wystarczy ci zapowiedź deklaracji klasy tzn np.

class klasa2;

class klasa1
{
 ....
obiekt klasa2

Ale siłą rzeczy nie wolno ci sie odnosić do składowych i metod tej klasy.

0

Mam tam tylko wskazniki na klasy miedzy soba ;) Reszta sie dzieje w plikach .cpp

Wszystko ladnie smiga jak dodam class NAZWA_KLASY przed include ;)

Dzieki za pomoc ;)

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