我还不是很熟悉这些,但也许有人可以照亮这个例子。使用函数指针?
想象一下,我有CFoo类,它将有一个函数来添加一个处理函数和一个函数指针函数。
因此,像这样:
class CFoo {
int *pointedFunc(int a, int b) = 0;
void setFunc(int *func(int a, int b))
{
pointedFunc = func;
}
};
鉴于上述背景下,我想知道这样做的正确方法。我认为我没有做好。另外,我将如何去调用pointedFunc?
感谢
不是作为函数指针的“a *函数*”,而是作为函数指针的“a *成员变量*(在OO中称为a *字段*)”。 – 2010-10-01 00:39:45
请避免使用C++代码中的函数指针。定义一个接口并创建实现该接口的类型。然后您可以整齐地存储对象,而不必诉诸函数指针的C hocks-pockus。 – 2010-10-01 01:04:00
@Martin:有时一个接口是正确的方法,有时候模板化(和鸭子类型)仿函数,有时函数指针是最好的。特别是对于动态链接,需要函数指针。 – 2010-10-01 05:20:41