Форум программистов, компьютерный форум CyberForum.ru

Сравнение потомков - C++

Восстановить пароль Регистрация
 
LuSkar
 Аватар для LuSkar
0 / 0 / 0
Регистрация: 22.10.2011
Сообщений: 23
22.01.2013, 19:24     Сравнение потомков #1
Как перезагрузить операцию сравнения (==) , для того, чтобы можно было сравнивать потомков в массиве указателей?

Добавлено через 39 минут
Должно выглядеть, типо так:
C++
1
2
bool operator == (Person *p1, Person *p2)
{ return p1->GetName()==p2->GetName()}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Avazart
 Аватар для Avazart
6893 / 5133 / 250
Регистрация: 10.12.2010
Сообщений: 22,561
Записей в блоге: 17
22.01.2013, 21:22     Сравнение потомков #2
Цитата Сообщение от LuSkar Посмотреть сообщение
Как перезагрузить операцию сравнения (==) , для того, чтобы можно было сравнивать потомков в массиве указателей?
А зачем ? Для этого есть функтуры, лямбды.
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
22.01.2013, 21:29     Сравнение потомков #3
LuSkar,
1) GetName - виртуальная функция
2) Либо используйся strcmp (если Name у тебя char*, либо и так должно работать, если Name - string, либо напиши свой класс для строки, где уже перегружай оператор ==)
Avazart
 Аватар для Avazart
6893 / 5133 / 250
Регистрация: 10.12.2010
Сообщений: 22,561
Записей в блоге: 17
22.01.2013, 21:36     Сравнение потомков #4
При чем тут строки..

Если уж так нужен именно == ,то стоит указатель заменить самописным итератором, но это как-то мягко говоря некрасиво...
Yandex
Объявления
22.01.2013, 21:36     Сравнение потомков
Ответ Создать тему
Опции темы

Текущее время: 15:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru