我希望拥有一个只包含一个方法的对象,该方法调用一个函数(但是每个对象应该调用不同的函数)。我会尝试通过示例来说明我的意思:
class Human
{
public:
void setMyFunction(void func); // specify which function to call
void callMyFunction(); // Call the specified function
};
void Human::setMyFunction(void func) // ''
{
myFunction = func;
}
void Human::callMyFunction() // ''
{
myFunction();
}
void someRandomFunction() // A random function
{
// Some random code
}
int main()
{
Human Lisa; // Create Object
Lisa.setMyFunction(); // Set the function for that object
Lisa.callMyFunction(); // Call the function specified earlier
}
这段代码显然无法工作,但我希望你能理解我想要实现的目标。
MfG,TPRammus
int(int, int)
、double(double)
和void(int)
等不同的签名呢? - NathanOliverstd::function
更有效率。 - SergeyAstd::function
是一个重要的工具,即使它不适合你。 - François Andrieux