Вы можете определить предикат сравнения (функтор). Вот общая реализация:
struct AlphabeticNameComp
{
AlphabeticNameComp( const std::string& toCompare)
: toCompare_( toCompare) { }
bool operator()( const Alphabetic& obj) const
{
return toCompare_ == obj.name();
}
private:
const std::string toCompare_;
};
В векторе буквенных элементов
std::vector< Alphabetic> vect;
Вы можете запустить поиск как:
std::find_if( vect.begin(), vect.end(), AlphabeticNameComp( "abc"));