我正在用 C++ 制作游戏,我想知道如何让一个类的 2 个对象在调用同一个函数时做不同的事情。我的意思是我有 2 个按钮,当我点击一个按钮时,它应该开始游戏,当我点击另一个按钮时它应该结束游戏。这只是一个简单的示例,但基本上我只想调用函数 click(),您单击的按钮将执行与其他按钮不同的代码。
最佳答案
我假设您正在构建自己的游戏引擎,而不是使用实际处理这些事情的库。
您要做的是为每个函数注册一个回调。这就是所有 UI 库/框架所做的。在一个简单的例子中:
class Button{
std::function<void()> callback;
public:
void connect(std::function<void()> func){
callback=func
}
void click(){
callback();
}
};
通过为连接提供不同的回调,您可以实现不同的功能。
关于c++ - 如何让同一个类的对象在同一个函数中做不同的事情?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23301761/