在 C++ 中,可以使用函數(shù)指針作為參數(shù)傳遞給其他函數(shù)。以下是一個示例:
#include <iostream>
// 定義一個函數(shù)指針類型
typedef void (*FunctionPtr)(int);
// 接受函數(shù)指針作為參數(shù)的函數(shù)
void printNumber(FunctionPtr ptr, int num) {
ptr(num);
}
// 被傳遞的函數(shù)
void printSquare(int num) {
std::cout << "Square: " << num * num << std::endl;
}
int main() {
// 將函數(shù)指針作為參數(shù)傳遞給另一個函數(shù)
printNumber(printSquare, 5);
return 0;
}
在上面的示例中,我們首先定義了一個函數(shù)指針類型 FunctionPtr
,該函數(shù)指針接受一個 int
參數(shù)并返回 void
。然后,我們定義了一個接受函數(shù)指針作為參數(shù)的函數(shù) printNumber
,該函數(shù)接受一個函數(shù)指針和一個 int
參數(shù),并調(diào)用傳遞的函數(shù)指針。最后,在 main
函數(shù)中,我們將 printSquare
函數(shù)的指針作為參數(shù)傳遞給 printNumber
函數(shù)。
當(dāng)運(yùn)行程序時,它將輸出:
Square: 25
這證明了函數(shù)指針成功作為參數(shù)傳遞給了其他函數(shù)。