C++ 11 类成员函数作为回调函数使用案例

#include
#include

using namespace std;
using namespace std::placeholders;

typedef function FUN;

class A 
{
public:
    void CallBack(FUN fun,int iv,int iv2) 
    {
        fun(iv, iv2);
    }
};

class B 
{
public:

    FUN Bind() 
    {
        return bind(&B::Add, this, _1, _2);
    }

    void Add(int iv1, int iv2) 
    {
        cout << iv1 << "+" << iv2 << "=" << iv1 + iv2 << endl;
    }
    
};

int main() 
{
    FUN f= B().Bind();

    A a;
    a.CallBack(f, 1, 2);

    system("pause");
    return 0;
}

你可能感兴趣的:(c++)