【发布时间】:2014-12-03 16:46:33
【问题描述】:
我想在 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 支持吗?还有其他支持这种情况的库吗?
提前谢谢你!
【问题讨论】:
-
@sehe:如果你指的是我:这是我唯一的 StackOverflow 帐户。
-
好的(我通常是指我向其发表评论的人,是的)。没关系。这些问题的对应关系非常出色。很快就会删除这些 cmets
标签: c++ oop c++11 boost boost-signals2