Posted on 2007-08-03 12:58
寶杉 閱讀(138)
評論(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(不同函數地址),那么調用者將調用不同地址的函數。賦值可以發生在運行時,這樣使你能實現動態綁定。