0

我正在为我正在使用 C++ 开发的 openGL 应用程序创建一个菜单系统。我正在为我以前学过的东西(Delphi中的TObjects)拍摄一个结构。我正在拍摄的结构类似于

对象->组件->控制(如果可视/交互)->特定项目

我正在考虑的一件事是我如何控制用户的“焦点”。焦点将是控件的成员,并且对于例如按钮的作用、打字发生的位置等很有用...看起来焦点应该是指向特定 GUI 项的指针,因此是控件的派生类。我需要指向的对象类型并不总是相同的。如何在控件基类中声明一个指针以指向任何派生类?我试过搜索谷歌,但我认为我没有使用正确的术语,因为我只是得到了很多关于继承的解释。我认为答案不存在。

我考虑使用的一种解决方法是 Component Base 类中的受保护值,我们称之为ID. ID每次创建任何新对象时都是唯一的,我可以将焦点指针声明为int* focus,然后尝试从 ID 回溯需要发生的事情。好像会比较麻烦。

提前感谢您的任何建议

4

0 回答 0