|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
19.03.2009, 18:52 | #1 |
Пользователь
Регистрация: 17.02.2009
Сообщений: 25
|
перегрузка оператора <<
хочу сделать чтоб перегружался оператор вывода следующим способом, тоесть вводишь массив к примеру собак mas[i] и сколько им лет let[i]
и выводит только те значения где let[i]=10 в классе Код:
Код:
Код:
|
19.03.2009, 20:17 | #2 |
Software Engineer
Участник клуба
Регистрация: 07.04.2007
Сообщений: 1,618
|
Во первых << это не оператор вывода, а оператор побитового сдвига влево. Во вторых это бинарный оператор, следовательно при его перегрузке у функции должен быть один параметр, а у вас два. И в третьих, что это за строчка такая?
Код:
Код:
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
Последний раз редактировалось Blade; 19.03.2009 в 20:21. |
19.03.2009, 20:40 | #3 |
Пользователь
Регистрация: 17.02.2009
Сообщений: 25
|
ну так я понимаю что нету вызова, как его можно вызвать
тоесть надо один парамерт Код:
Код:
а в майне должно быть так Код:
Последний раз редактировалось z3rg; 19.03.2009 в 21:15. |
19.03.2009, 21:43 | #4 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,520
|
То, что Вы хотите сделать, не получится.
Код:
Код:
Как-то так должен быть перегружен оператор для вывода, в том числе посредством cout: Код:
|
19.03.2009, 22:14 | #5 |
Пользователь
Регистрация: 17.02.2009
Сообщений: 25
|
нифига не понял
че дальше делать Код:
|
19.03.2009, 22:18 | #6 |
Software Engineer
Участник клуба
Регистрация: 07.04.2007
Сообщений: 1,618
|
Нет, что вы? Откуда же у бинарного оператора возьмется второй параметр? В принципе их 2, но один, стоящий слева от бинарного оператора, передается не явно (автоматически), второй, стоящий справа, мы передаем как единственный аргумент. Больше ничего передаваться не может
По теме. Реализовать можно так. Код:
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
Последний раз редактировалось Blade; 19.03.2009 в 22:28. |
19.03.2009, 22:27 | #7 | |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,520
|
Цитата:
Сейчас посмотрел в MSDN: Код:
|
|
19.03.2009, 22:28 | #8 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,520
|
Читать книги и быть внимательнее, а то бездумно код копируете
|
19.03.2009, 22:31 | #9 | |
Software Engineer
Участник клуба
Регистрация: 07.04.2007
Сообщений: 1,618
|
Цитата:
А внутри класса тоже можно перегрузить, ведь нам, как я понял, надо перегрузить оператор не для объекта cout, а для своего класса
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
|
|
19.03.2009, 22:44 | #10 | |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,520
|
Цитата:
Хотя все равно реализовать конструкцию из первого поста: cout<<let[i]<<mas[i]; не получится. |
|
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
задачка перегрузка оператора + | z3rg | Общие вопросы C/C++ | 7 | 17.03.2009 13:23 |
Перегрузка оператора + (С++) | MjRed | Помощь студентам | 1 | 15.12.2008 18:57 |
Перегрузка оператора | Crucian | Общие вопросы C/C++ | 2 | 22.10.2007 09:44 |
Использование оператора условия | Virtson | Microsoft Office Access | 2 | 15.12.2006 16:13 |