私は自分自身をひどく混乱させて戻ってこないところまで行き、私のプロジェクトは私の現在のやり方に追いつくには大きすぎると感じています。
一言で言えば:
1)多くのグラフィカル画面(ウィンドウ)があり、各画面は、パブリックおよびプライベート減速を伴う.hヘッダーを伴う独自の.cppで定義されたクラスです。
2)FLTK GUIツールキットを使用しているので、画面を離れるときに「hide()」を呼び出します。これはガベージコレクションを行うと想定しており、その後に続く画面の新しいインスタンスを作成します。
私の問題は、画面(画面Aではそれを呼び出すことができます)が別の画面(画面B)を作成する場合、画面Bのヘッダーファイルを画面Aにインクルードする必要があり、画面Aの.cppで画面Bへのグローバルポインターを作成することです。
すなわち。画面Aの疑似コード
#include "screenb.h"
ScreenB* screenb_ptr; // global
...
Bunch of Code, constructors, deconstructors, etc
...
void ScreenA::exit_and_make_screen_b()
{
ScreenA.hide();
screenb_ptr = new ScreenB();
}
これが最善のアプローチですか?私はそれがだらしなく(そしてメモリリーク?)感じます、そして私はたくさんの外部修飾されたポインタを追跡するダミーの.cpp/.hのようなものを持っているべきです。特に、画面を前後に移動する必要がある場合があります(つまり、他のいくつかの画面からメインメニュー画面に戻ることができます)。アドバイスをいただければ幸いです。