|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
15.12.2007, 12:47 | #1 |
Eclipse Foundation
Старожил
Регистрация: 19.09.2007
Сообщений: 2,619
|
Перегрузка ввода
Люди кто знает как перегрузить функцию getline? Короче задание сделать класс Строка, и перегрузить осоновные операции для работы с ним. Все я сделал, только вот перегрузить getline нада, а то он токо текст до пробела вводит.
Вот перегрузка ввода Код:
|
15.12.2007, 15:35 | #2 |
Пользователь
Регистрация: 25.03.2007
Сообщений: 67
|
ну вообще тот же cin>> - это потоковый ввод и пробел это окончание ввода. Используй в перегрузке функции getc или gets не помню точно посмотри описание в библиотеках, но для них пробел не являеться окончанием ввода.
|
16.12.2007, 12:33 | #3 |
Eclipse Foundation
Старожил
Регистрация: 19.09.2007
Сообщений: 2,619
|
Ну и как ты прикажешь мне это реализовать? Ты доганяешь, что мне в этой функции надо вернуть обьект типа "istream" то бишь "input". А как я его верну, если gets() - это функция из другой библиотеки?
|
16.12.2007, 14:27 | #4 |
Пользователь
Регистрация: 01.11.2007
Сообщений: 33
|
cin.get( *cout.rdbuf() );
вот этот пример работает Код:
Код:
в частности вот статья http://www.find-info.ru/doc/cpp/001/iostream.htm в главе 20.9 как раз рассказывается о загадочном манипуляторе noskipws? Последний раз редактировалось PuzzleC; 16.12.2007 в 15:17. |
16.12.2007, 14:51 | #5 |
Eclipse Foundation
Старожил
Регистрация: 19.09.2007
Сообщений: 2,619
|
Я попробовал, но оно не заработало. Может я тебя неправлино понял? Напиши код как ты себе это представляешь.
|
17.12.2007, 00:22 | #6 |
Eclipse Foundation
Старожил
Регистрация: 19.09.2007
Сообщений: 2,619
|
Я тебе очень благодарен, за то что ты мне поведал о манипуляторах, но увы они в моей проге не помогут. По той простой причине, что работают они только с char-данными, считывая пробел как букву, а не как разделяющий символ. Вобщем получится то же слово, только с буквами под названием "пробел". А мне нада перегрузить getline, чтобы с char *-данными работать.
|
17.12.2007, 05:21 | #7 | |
Пользователь
Регистрация: 01.11.2007
Сообщений: 33
|
Цитата:
|
|
17.12.2007, 20:05 | #8 |
Eclipse Foundation
Старожил
Регистрация: 19.09.2007
Сообщений: 2,619
|
Извини, я неправильно выразился. Мне нужно, чтобы при операции cin>>s1, вызывалась перегруженная функция ">>" и чтобы она вводила строку, то бишь и пробелы тоже. Дело в том, что прога работатет с char * - данными, и это конкретно усложняет мне задачу. Попросту я не знаю как ввести строку с пробелами.
|
18.12.2007, 23:10 | #9 | |
Пользователь
Регистрация: 10.12.2007
Сообщений: 28
|
Цитата:
|
|
23.12.2007, 16:22 | #10 |
Eclipse Foundation
Старожил
Регистрация: 19.09.2007
Сообщений: 2,619
|
Это тоже не пашет. Ладно забей, я у препода спрошу.
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
перегрузка + | softrix | Общие вопросы C/C++ | 2 | 21.06.2008 22:27 |
Перегрузка функций... | bondik | Общие вопросы C/C++ | 12 | 28.04.2008 01:07 |
Перегрузка ++ | Dark_Maks | Общие вопросы C/C++ | 2 | 18.12.2007 09:27 |
перегрузка функций | Snake_ua | Общие вопросы Delphi | 3 | 26.11.2007 10:54 |
Перегрузка оператора | Crucian | Общие вопросы C/C++ | 2 | 22.10.2007 09:44 |