// OO Programming in C++ // Brian Malloy, summer 2002 // These classes define policies #include #include #include template > class IteratorFind { public: typename container::const_iterator find(const container & pot, const T& item) const { std::cout << "Iterator find" << std::endl; typename container::const_iterator ptr = pot.begin(); while ( ptr != pot.end() ) { if ( *ptr == item ) return ptr; ++ptr; } return pot.end(); } }; template > class AlgorithmFind { public: typename container::const_iterator find(const container & pot, const T& item) const { std::cout << "Algorithm find" << std::endl; typename container::const_iterator ptr = std::find(pot.begin(), pot.end(), item); return ptr; } };