![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Участник клуба
Регистрация: 28.07.2009
Сообщений: 1,510
|
![]()
То есть для char* - что бы он не тупо указатели сравнивал?
|
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 22.04.2010
Сообщений: 96
|
![]()
Для встроенный типов перегрузить operator() нельзя. используй strcmp;
include <Qt>
|
![]() |
![]() |
![]() |
#3 |
Участник клуба
Регистрация: 28.07.2009
Сообщений: 1,510
|
![]()
Мне как раз надо в > засунуть strcmp =\
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
можно попробовать внешним переопределением оператора.
http://cplusplus.com/doc/tutorial/classes2/ смотрим табличку) на вскидку это выйдет bool operator>(char*,char*); Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 22.04.2010
Сообщений: 96
|
![]()
ну 0 "=", 1 ">", -1 "<"
include <Qt>
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
sever-42, он хочет чтоб было так:
Код:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#7 |
Участник клуба
Регистрация: 28.07.2009
Сообщений: 1,510
|
![]()
Чего-то не получается... Говорит, что функция должна быть членом класса. Даже в классе пробовал переопределять > для строк, но говорит, что оператор > должен принимать 1 параметр:
Код:
|
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 22.04.2010
Сообщений: 96
|
![]()
ну потому что 1 ый параметр это this а второй char *.
class myChar { char *p; myChar(char *); bool operator(myChar *p2) {return strcmp(p, p2)} }; и наверное правило трех придется реализовать. в с++ лучше использовать string, с опреаторвми <>=...
include <Qt>
|
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
если сравнение со своим классом то один оператор(это то с чем сравниваем)
а я говорил про внешнее переопределение. посмотри ссыль что я дал, примеры внутреннего переопределения там есть. (помоему они односторонни, то есть будет myclass>char*, но не наоборот(только внешним)) Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#10 |
Пользователь
Регистрация: 22.04.2010
Сообщений: 96
|
![]()
внешнее переопределение operator(int, int)?
так вроде нельзя перегрузить этот оператор для встроенных типов или я путаю...
include <Qt>
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
фильтр для строк | Михаил2261 | Microsoft Office Excel | 4 | 27.05.2010 16:56 |
Аналог "Сквозных строк" для формирования итоговых строк на печать. | kotyambala | Microsoft Office Excel | 0 | 05.05.2010 13:40 |
case для строк | Sanek_ntsk | Общие вопросы Delphi | 5 | 23.03.2010 17:42 |
Можно ли узнать количество видимых строк в ListView\ListBox? | TwiX | Общие вопросы Delphi | 7 | 03.08.2009 13:03 |
Номера строк для блокнота | __@cmd@__ | Общие вопросы Delphi | 5 | 01.02.2009 16:36 |