メインウィンドウがあるとします。メイン ウィンドウには、発生したことを記録するためのログ ウィンドウや、ユーザーのデータを操作するための多数の操作ウィンドウなど、いくつかの子ウィンドウがあります。操作ウィンドウでの各操作の後、ログウィンドウに記録したいと思います。それを実装するにはいくつかの方法があります。
オペレーティング ウィンドウにログ ウィンドウを指すポインタを置きます。これを行うには、操作ウィンドウはポインターにバインドされているため、あまり再利用できないと思います。いつの日かログが不要になったら、削除する必要があります。また、この方法では少し多くのメモリが必要になる場合があります。また、操作ウィンドウがメインウィンドウの子の子、子の子…の場合は、内部のポインタを1つずつ転送する必要があります。
メインウィンドウをシングルトンにし、公開ログ機能を追加します。ログが必要な場合は、MainWindow::Inheritance()->Log(theInformation) のように呼び出します。しかし、いつか 2 つのメイン ウィンドウがあるとしたらどうなるでしょうか。
問題に対する良い提案。どうもありがとう!