1 #include <iostream> 2 #include <functional> 3 using namespace std; 4 using namespace std::placeholders; 5 6 class myclass 7 { 8 public: 9 void add1(int a) 10 { 11 cout << a << endl; 12 } 13 void add2(int a,int b) 14 { 15 cout << a << b << endl; 16 } 17 void add3(int a, int b,int c) 18 { 19 cout << a << b << c <<endl; 20 } 21 }; 22 23 24 void main() 25 { 26 myclass my1; 27 //函数包装器,包装类成员函数,用于使用 28 //add的指针类型为 (myclass::*)(int a) 29 /*void (myclass::*p)(int a) = &myclass::add;*/ 30 //函数名 对象地址 ,_1(相应位置的参数需要指定) 31 auto fun1 = bind(&myclass::add1, &my1, _1); 32 auto fun2 = bind(&myclass::add2, &my1, 123,_1); 33 auto fun3 = bind(&myclass::add3, &my1, _1, 0, _2); 34 fun1(1000); 35 fun2(100); 36 fun3(1, 3); 37 cin.get(); 38 }