Make search methods virtual.

Otherwise, the search methods from derived classes can not be invoked by a pointer to the base class.