一.函数指针 #include <iostream> typedef void (*callback)(int ,int); class MyTest { public: void setCallback(callback cb) { m_callback = cb; } void add(int a, int b) { m_callback(a, b); } private: callback m_callback; }; void onCallback(int a, int b) { std::cout << "a + b = " << a + b << std::endl; } int main(int argc, char *argv[]) { MyTest test; test.setCallback(onCallback); test.add(1, 1); return 0; } 二.std::bind和std::function #include <functional> #include <iostream> typedef std::function<void (int ,int)> callback; class MyTest { public: void setCallback(callback cb) { m_callback = cb; } void add(int a, int b) { m_callback(a, b