Помогите новичку в STL.
Начитавшись корифеев STL, понял, что надо писать алгоритмы вместо циклов.
Как, не используя циклы, можно вызвать функцию член производного класса
для каждого элемента вектора указателей на базовый класс.
Иными словами, вызвать внутри STL-алгоритма функцию-член от производного класса
т.е. призвести приведение типа ЭЛЕМЕНТА контейнера перед вызовом функции-члена?
#include <vector>
#include <algorithm>
#include <functional>
class A
{ public: int Foo(){return 0;}; };
class B : public A
{ public: int Boo(){return 1;}; };
int main()
{
std::vector<A *> AV;
// Заполняем контейнер AV указателями на производный класс B
// ...
std::for_each(AV.begin(), AV.end(), std::mem_fun<int,A>(&A::Foo)); // OK
// Хочу привести тип к B и вызвать его функцию-член для всех элементов средствами STL
std::for_each(AV.begin(), AV.end(), std::mem_fun<int,B>(&B::Boo)); // так нельзя

((, а как можно?
return 0;
}
Заранее благодарен,
Анатолий.