我很想为 c++创建 javascriptsetTimeout
和类似的功能(没有提升)。setInterval
我想要实现的目标:一个基类,它可以在重复或单次延迟后调用其子类成员变量。
我已经有一个update
功能和经过时间的功能。我还找到了如何将成员函数指针传递给基类并使用以下方法触发该函数:
class BaseClass {
public:
template <class object>
void triggerNow(object *obj, void (object::*func)()) {
((obj)->*(func))();
}
}
class SubClass : public BaseClass {
public:
void update() {
triggerNow(this, &SubClass::worked)
}
void worked() {
cout << "worked!";
}
}
我目前面临的问题是如何在向量(或其他容器)中存储object *obj
和。void (object::*func)()
我只是想出模板...
如何将 的两个模板化参数存储triggerNow
在向量中?一旦我弄清楚这一点,我就可以创建我的 setTimeout 和 setInterval!