Jak chceš psát bez ifdefů / pragma once ? Klasicky se všechny věci který potřebuješ píšou do includů - to vede k několika-násobnému "připojení kódu" a tím pádem jediným přidáním includu na začátek řetězce rozbiješ celou kompilaci, pokud je soubor už includovanej dál. OK, pragma once je lepší řešení, ale příjde mi že řešení pomocí ifdef je hodně rozšířený a výsledek je naprosto stejnej.
Tady jde asi o cyklickou závislost tříd/struktur, ne? Tedy třída /struktura A definovaná v A.h potřebuje B definovanout v B.h a naopak?
Pokud jde o C++ tak potom použíj forward deklaraci a nebo lepší návrh, vzor.