Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
Tranquilllity
0 / 15 / 1
Регистрация: 29.05.2015
Сообщений: 59
Завершенные тесты: 1
1

Перегрузка оператора сравнения. Вектор

24.12.2017, 02:10. Просмотров 731. Ответов 4
Метки нет (Все метки)

Здравствуйте.
Допустим есть класс.
C++
1
2
3
4
5
6
class Sector
{
private:
    int number;                                                         
    char* name;
}
Я создаю вектор объектов этого класса и хочу произвести его сортировку с помощью библиотечной функции sort ().
Для этого, как я понимаю, нужно сделать перегрузку операции <

C++
1
2
3
4
5
bool Sector :: operator <(Sector b)
{
if (this->number < b.number) return 1;
else return 0;
}
и поступить следующим образом:
C++
1
sort(objVector.begin(), objVector.end());
Однако если я, допустим, хочу сделать несколько сортировок, по number и по name, как быть в этом случае?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.12.2017, 02:10
Ответы с готовыми решениями:

Перегрузка оператора сравнения
Скажите, как перегрузить оператор сравнения == и другие? попробовал bool...

Перегрузка оператора сравнения
Посмотрите, пжл, правилен ли синтаксис перегрузки оператора сравнения для двух...

Перегрузка оператора сравнения
Перегрузка: bool Zakaz::operator==(Zakaz&amp;B) {...

Перегрузка оператора сравнения и сортировка
Имеется класс строка на основе vector&lt;char&gt;. У меня не получается перегрузить...

Перегрузка оператора сравнения (==) для массивов
Имеется класс-массив. Нужно сравнить два массива при помощи перегрузки...

4
alex white
249 / 205 / 87
Регистрация: 27.06.2016
Сообщений: 595
Завершенные тесты: 1
24.12.2017, 02:15 2
Лучший ответ Сообщение было отмечено Tranquilllity как решение

Решение

Tranquilllity, std::sort может принимать функцию сравнения, третьим аргументом.
1
Tranquilllity
0 / 15 / 1
Регистрация: 29.05.2015
Сообщений: 59
Завершенные тесты: 1
24.12.2017, 02:22  [ТС] 3
alex white, Отлично!
А эта функция сравнения, как и перегрузка, должна возвращать bool?
0
Tranquilllity
0 / 15 / 1
Регистрация: 29.05.2015
Сообщений: 59
Завершенные тесты: 1
24.12.2017, 02:23  [ТС] 4
alex white, Отлично!
А эта функция сравнения, как и перегрузка, должна возвращать bool?
0
alex white
249 / 205 / 87
Регистрация: 27.06.2016
Сообщений: 595
Завершенные тесты: 1
24.12.2017, 02:37 5
Tranquilllity, да, возвращать true, если первый аргумент должен стоять перед вторым в результирующей последовательности.
1
24.12.2017, 02:37
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.12.2017, 02:37

Перегрузка оператора сравнения для строк
В общем мне нужно сделать такую перегрузку, что бы вместо символа, например,...

Перегрузка оператора сравнения для указателя на объект
Имеется класс такого плана: template &lt;class T&gt; class Node{ private: T...

Перегрузка оператора сравнения (сравнивать только по одному полю)
Помогите пожалуйста. совсем не выходит перегрузить оператор == класса Book так,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru