コンストラクタを互いに呼び出すような使い方は出来ない

それから前方宣言のクラスのポインタを持つ場合普通Pimplイディオムを使う
なぜかというと前方宣言の時点ではクラスの詳細が全く分からないからnew出来ないし
メンバ関数も呼び出せないから