C++中,函數指針的定義方法如下:
定義函數指針類型:typedef returnType (*functionPtrType)(parameterType1, parameterType2, ...);
returnType
為函數返回值的類型。functionPtrType
為函數指針類型的名稱,可以根據需要自定義。parameterType1, parameterType2, ...
為函數的參數類型。聲明函數指針變量:functionPtrType functionNamePtr;
functionNamePtr
為函數指針變量的名稱,可以根據需要自定義。例如,定義一個函數指針類型為void(*)(int, int)
,表示指向參數為兩個int
類型,返回類型為void
的函數指針。然后聲明一個名為add
的函數指針變量,可以這樣寫:
typedef void (*functionPtrType)(int, int);
functionPtrType addPtr;
void add(int a, int b) {
std::cout << a + b << std::endl;
}
int main() {
addPtr = add; // 將函數地址賦給函數指針變量
addPtr(2, 3); // 等同于調用add(2, 3)
return 0;
}
輸出結果為5
。在上述例子中,addPtr
指向了add
函數,并通過函數指針調用了該函數。