【发布时间】:2019-02-16 13:25:11
【问题描述】:
我一直在尝试用 C++ 为我的新游戏创建按钮,并为它们创建了一个保存数据的类。我需要能够为每个按钮单击类分配一个方法。例如,假设我有十个按钮,我需要每个按钮在单击时输出不同的单词。
class button{
float position;
float scale;
void on_click();
};
button new_button;
new_button.on_click = {
std::cout << "HELLO" << std::endl;
}
我怎样才能让这样的事情发挥作用? 感谢您的任何回复。
【问题讨论】:
-
文字就是数据。对象携带数据。同一类的不同对象可能携带不同的数据。您无需为每条数据创建单独的方法。
-
正确的解决方案是将字符串存储为数据并输出。您问题的直接答案是使用
std::function。 -
在任何平台上,您都可以找到创建窗口框架以及事件/信号/回调管理的原生 api。你用的是什么平台?如果您想从头开始构建,请告诉我们。