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

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

04.12.2014, 21:17. Просмотров 584. Ответов 4
Метки нет (Все метки)

В общем мне нужно сделать такую перегрузку, что бы вместо символа, например, "<" выполнялось сравнение через strcmp, например строка strcmp(char, char1)>0 что бы вместо strcmp писать другой символ.. помогите пожалуйста, ибо я не знаю как..
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.12.2014, 21:17
Ответы с готовыми решениями:

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

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

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

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

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

4
NotNot
30 / 30 / 6
Регистрация: 23.10.2014
Сообщений: 107
04.12.2014, 21:35 2
Например так:
C++
1
2
3
4
5
6
7
8
9
10
class A {
    const char * m_cstring;
  public:
    /* ... */
    bool operator<(const A & rhs);
};
 
bool A::operator<(const A & rhs) {
  return (strcmp(m_cstring, rhs.m_cstring) < 0);
}
Добавлено через 6 минут
Если имелось ввиду что-то такое:
C++
1
"string1" < "string2"
то ничего не поделать.
0
Tulosba
:)
Эксперт С++
4749 / 3243 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
04.12.2014, 22:30 3
Перегрузка операторов возможна только для пользовательских типов и их комбинаций со встроенными.
1
Michel
0 / 0 / 1
Регистрация: 14.09.2014
Сообщений: 97
04.12.2014, 23:00  [ТС] 4
NotNot, спаибо большое) а как например это использовать, если как вы сказали то так не получится
0
NotNot
30 / 30 / 6
Регистрация: 23.10.2014
Сообщений: 107
04.12.2014, 23:11 5
Как перегрузить operator< для класса, я показал. Если строки в стиле C не оборачивать в класс или структуру, то только использовать strcmp. Ну а если оборачивать, то все сделано до нас (смотреть std::string).
1
04.12.2014, 23:11
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.12.2014, 23:11

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

Перегрузка оператора сравнения. Вектор
Здравствуйте. Допустим есть класс. class Sector { private: int...

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


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

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

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