外部ファイルからデータを読み込み、データを操作し、計算を行うクラスを作成しました。
クラス、特にコンストラクターが非常に長い。ここで、外部ファイルからデータを読み込み、計算の準備として操作します。これを行うには、テンプレート関数を使用します。
クラスを分割した方がスタイルが良いことはわかっていますが、変更できない商用コードと組み合わせて使用しています。また、コードを使用する必要がある人は、それが 1 つのクラス + 補助ファイルである必要があるため、この 1 つのクラスに制限されています。コードを読みやすくするために、コンストラクターからのコードの一部を「auxiliary.h/.cpp」というヘルパー .cpp/.h ファイルに保存し、関数を介してアクセスしたいと思います。
問題は次のとおりです。
1) テンプレート関数 (クラスのメンバー関数) を関数引数として補助ファイルに渡します。これはできませんが、「曖昧さ回避」と呼ばれるものによって可能になるかもしれないと聞いています。テンプレート以外の関数やベクトルなどを渡すことは問題ありません...テンプレート関数が問題です。
2) また、テンプレート関数を引数として補助ファイルにアクセスする関数に渡すことができたとしても、引数リストが非常に長くなってしまいます。
私が知りたいのは、補助ファイルがクラスを「見る」ようにする方法はありますか? 補助ファイルで処理を行う各関数で、クラスのインスタンスを引数/パラメーターとして渡そうとしました。しかし、これは「instanceNameがこのスコープで宣言されていません」という結果になり、かなり循環的/複雑なアプローチのように見えます。
アドバイスをいただければ幸いです。ありがとう。