// FirstTest.cpp : 定义控制台应用程序的入口点。 //bind(&mem,&obj, _1):类成员方法地址,对象地址,_1是占位符 //同一个类的不同对象可以delegate给不同的实现,从而实现不同的行为(myan语) #include "stdafx.h" #include <boost/function.hpp> #include <boost/bind.hpp> #include <string> #include <iostream> using namespace std; using namespace boost; class FunTest { private: string m_name; public: FunTest(string name) { m_name = name; } void print_mem(string elem) { cout << elem << this->m_name << endl; } }; int main() { boost::function<void(string)> funclass; FunTest test("leeboy"); funclass = bind(&FunTest::print_mem, &test, _1); funclass("hello "); system("pause"); return 0; }
时间: 2024-11-05 15:17:40