在 C++ 中聲明一個委托(delegate)最常見的方法是使用函數指針。委托是一個指向函數的指針,它可以指向不同的函數并調用它們。
以下是一個簡單的示例代碼,演示如何聲明一個委托:
#include <iostream>
// 定義一個函數指針類型,作為委托類型
typedef void (*Delegate)();
// 定義一個函數,用于作為委托的實現
void Function1()
{
std::cout << "Function1 called" << std::endl;
}
void Function2()
{
std::cout << "Function2 called" << std::endl;
}
int main()
{
// 聲明一個委托并將其指向函數 Function1
Delegate delegate = &Function1;
// 調用委托指向的函數
delegate();
// 將委托指向函數 Function2
delegate = &Function2;
// 再次調用委托指向的函數
delegate();
return 0;
}
在這個示例中,我們首先定義了一個函數指針類型 Delegate
,然后定義了兩個函數 Function1
和 Function2
,它們將作為委托的實現。在 main
函數中,我們聲明一個委托 delegate
并將其指向函數 Function1
,然后調用委托指向的函數。接著,我們將委托指向函數 Function2
,再次調用委托指向的函數。
這是一個簡單的例子,實際中,委托可以用于更復雜的場景,比如將函數作為參數傳遞給其他函數等。