Posted on 2007-08-03 12:58
宝杉 阅读(132)
评论(0) 编辑 收藏 引用 所属分类:
C++
声明:
先定义函数,void print(string str);
声明一个函数指针,void ( *p )( string ) = NULL;
指向copy函数,p = & print; 或 p = print;
调用指针函数,p( “hello” );
可以把多个函数放在一个指针数组里,然后通过数组对应指针方便调用函数。
例子:Diary files\C++exams\pointer_func
动态绑定一个函数
void caller(void(*ptr)())
{
ptr(); /* 调用ptr指向的函数 */
}
void func();
int main()
{
p = func;
caller(p); /* 传递函数地址到调用者 */
}
如果赋了不同的值给p(不同函数地址),那么调用者将调用不同地址的函数。赋值可以发生在运行时,这样使你能实现动态绑定。