私は正しく問題を提起していないかもしれませんが、ここに私の状況です。私は自分のグローバルな機能をすべて入れたい名前空間を持っています。対応する.cppファイルですべてを定義したいと思います。これらの関数の多くは、非グローバルクラスのインスタンスにアクセスします。非グローバルクラスのインスタンスは、ネームスペースのメンバーである場合とそうでない場合があります。クラスを前方宣言できますが、クラスメソッドを呼び出そうとするとリンカーエラーが発生します。これらのグローバルのそれぞれを定義するのは、のの後に対応するクラスが定義されていますが、これは異なるファイルに異なる関数を置きます。これを避けたいのですが、これは深刻に間違っているようです。非グローバルクラスにアクセスするグローバル関数をすべて1か所に配置する方法は?
他に何ができますか?私はここで概念的な問題を抱えていると思います。どのような設計戦略がこれを解決するのに役立つでしょうか?対応するクラスの静的メンバーにする必要がありますか?私はこのクラスが好きではありません。クラスには長い名前がありますが、私の名前空間の名前は短いので... typedefを使用しますか?しかし概念的にはこれらはグローバル関数なので、私はそれらをそのままにしておきたいと思っています。
クラスのヘッダファイルを「グローバルな」ソースファイルに単にインクルードするのは間違っていますか? –