>>985
クラス名を使いたいなら名前だけ宣言することでOKだよ。
class Foo; // こんなかんじ
class Bar;
相互に参照するような相関度の高いクラスは一つのヘッダに
まとめるとか、クラス毎のヘッダ群をまとめるヘッダを作るとか、
いろいろ工夫できるのではないかと。

どこかの偉い人が作ったセオリーとかは知らないなぁ。
きっといろいろあるんだろうけど…。