/* 03.08.2009 ccsdu2004@yahoo.com.cn www.gaimo.net */ #include <iostream> #include "boost/function.hpp" using namespace std; using namespace boost; class keeping_state { int total_; public: keeping_state():total_(0){} int operator()(int i) { total_ += i; return total_; } int total()const { return total_; } }; int main() { keeping_state s; function<int(int)> f1; f1 = s; function<int(int)> f2; f2 = s; cout<<f1(10)<<endl; cout<<f2(10)<<endl; cout<<" "<<s.total()<<endl; system("pause"); return 1; }