使用 SFML,我创建了一个简单的按钮类,我计划将其开发为更高级的 GUI,可以在我制作的游戏中执行操作。现在我正在尝试决定按钮如何与游戏中的其他对象交互。我需要这些按钮能够与游戏对象、其他按钮以及许多尚未创建的东西进行交互。我想出的解决方案是这样的:
template <typename T> class Button
{T* myLink;};//you can imagine functions that do things to the object at this address
这样,按钮就可以链接到它计划与之交互的内容,我认为使用模板很好,因为现在我可以告诉按钮它将被激活/更改的类型。接下来,我想创建一个 Menu 类,它只是一个包含一堆按钮的框。但是这个 Menu 类不能只有一个 Button 向量,因为每个 Button 都是不同的类,具体取决于创建它的类型。
这个问题的最佳解决方案是什么,Menu 类应该是一个可以容纳多种类型按钮的模板,还是我应该以某种方式使用继承?如果继承,请做一个简短的例子。
谢谢你。