#include #include #include // Generates Fibonacci series n3 =n1+n2 ... using namespace std; class gen_fib { int last; int prev; public: gen_fib() :last(0), prev(0) {}; int operator() (); }; gen_fib::operator() () { if( !last ) return last =1; if( !prev ) return prev =1; int rv = prev + last; prev =last; return last =rv; }; typedef ostream_iterator IntOsIt; void main() { vector v(10); IntOsIt out(cout, " "); generate( v.begin(), v.end(), gen_fib() ); copy( v.begin(), v.end(), out ); cout<< "\nPress any key to exit... "; while( !cin.get() ) ; }