0 / 14 / 1
Регистрация: 29.05.2015
Сообщений: 61
1

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

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

Author24 — интернет-сервис помощи студентам
Здравствуйте.
Допустим есть класс.
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)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.12.2017, 02:10
Ответы с готовыми решениями:

Перегрузка оператора сравнения
Есть рабочий код и скрин выполнения чтоб понять суть задачи Rects Rects::operator &lt;(const Rects &amp;...

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

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

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

4
277 / 226 / 93
Регистрация: 27.06.2016
Сообщений: 639
24.12.2017, 02:15 2
Лучший ответ Сообщение было отмечено Tranquilllity как решение

Решение

Tranquilllity, std::sort может принимать функцию сравнения, третьим аргументом.
1
0 / 14 / 1
Регистрация: 29.05.2015
Сообщений: 61
24.12.2017, 02:22  [ТС] 3
alex white, Отлично!
А эта функция сравнения, как и перегрузка, должна возвращать bool?
0
0 / 14 / 1
Регистрация: 29.05.2015
Сообщений: 61
24.12.2017, 02:23  [ТС] 4
alex white, Отлично!
А эта функция сравнения, как и перегрузка, должна возвращать bool?
0
277 / 226 / 93
Регистрация: 27.06.2016
Сообщений: 639
24.12.2017, 02:37 5
Tranquilllity, да, возвращать true, если первый аргумент должен стоять перед вторым в результирующей последовательности.
1
24.12.2017, 02:37
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.12.2017, 02:37
Помогаю со студенческими работами здесь

Перегрузка оператора сравнения
Здравствуйте! Объявлен класс Person, у которого имеется поле - age Требуется написать...

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

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

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru