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函數,并通過函數指針調用了該函數。