オブジェクト指向の関数ポインターを C++ で実装したいと考えています (C# のデリゲートに相当)。
最終クラスのプレースホルダーとして「MagicFunctionPainter」を使用するサンプル コードを作成しました。
class A
{
public:
MagicFunctionPointer p;
void fireEvent()
{
p();
}
};
class B
{
public:
void init(A* a)
{
a->p = &onEvent;
}
void onEvent()
{
// in a real-world app, it'd modify class variables, call other functions, ...
}
};
std::function または Boost::Signals2 はそれをサポートしていますか? そのケースをサポートする他のライブラリはありますか?
前もって感謝します!