クラス A のメソッド (write と呼ばれる) を使用してファイル I/O を制御する必要があります。次に、A は、A.write() を呼び出して、ファイルに書き込む必要がある別のクラス B (A に基づいていない) をインスタンス化します。
これを達成するための最良の方法は何ですか?
Class.functionname (A.write) をパラメーターとして B.sometfunction のコールバックに渡す必要がありますか?
A.write スロットを作成し、B がシグナルを送信できるようにする必要がありますか?
より良い方法はありますか?(私は C++ で QT 5 を使用しています)
わかりました。説明に役立つ情報がいくつかあります。A はスレッドのコレクションで、それぞれが TcpSocket (クライアントからのコンソール セッション) です。B は私のロガー クラスであり、シングルトン パターンです。A スレッドはメッセージをファイルに記録しなければならない場合があり、B はそのファイルをフォーマットし、mutex を使用してファイルに書き込みます。これらの同じ (フォーマットされた) メッセージをコンソールに書き込む必要があります (A スレッドごとに一意のソケットであるため、静的メソッドにすることはできません)。したがって、A.something が B.write を (ファイルに対して) 呼び出し、次に B.write が A.write (コンソールに対して) を呼び出す必要があります。