Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

find_if + наследование???

1.8K
26 мая 2003 года
shrize
46 / / 04.12.2002
Я столкнулся с такой проблемой.
У меня есть класс в котором перегруженн оператор на пример так
class A
{
public:
A(){};
virtual bool operator()(char *){printf("Find A\n");return false;};

virtual bool operator()(long){printf("Find A\n");return false;};

Далее я наследую его

class B: public A
{
public:
B(){};
B(char * tm):str(tm){};
bool operator()(char * ch)
{
printf("Find B\n");
return strcmp(str,ch)==0;
};

И где-то в коде пишу

B b("что ищем");
A *a=&b;

itVec=find_if(Vec.begin(),Vec.end(),*a);
НО почему вызывается оператор bool operator()(char *) класса а?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог