我把自己搞糊涂了,到了无法回头的地步,觉得我的项目膨胀得太大了,无法跟上我目前的方式。
简而言之:
1) 有许多图形屏幕(窗口),每个屏幕都是在其自己的 .cpp 中定义的一个类,并附带一个带有公共和私有减速的 .h 标题。
2) 我正在使用 FLTK GUI 工具包,所以当我离开屏幕时,我会在其上调用“hide()”,我假设它会进行垃圾收集,然后我会创建一个新的实例,用于跟随任何屏幕。
我的问题是,如果一个屏幕(屏幕 A 可以调用它)创建另一个屏幕(屏幕 B),那么我必须在屏幕 A 中包含屏幕 B 的头文件,并在屏幕 A 的 .cpp 中创建一个指向屏幕 B 的全局指针。
IE。屏幕 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 的东西来跟踪一堆外部限定的指针;特别是有时我必须返回/前进屏幕(即可以从多个其他屏幕跳回主菜单屏幕)。任何建议表示赞赏!