![]() |
|
Модераторы: bsa |
![]()
|
|
| zhenya1 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 20.9.2010 Репутация: нет Всего: нет |
Мне нужен класс, для которого оператор [] перегружен, чтобы
выполнять чтение символов из указанной позиции файла. В моем примере у меня сделано так: я могу закидывать в файл символ, стоящий на конкретной позицци и ,соответственно, считываю его. (т.е. если есть строка "12345" я могу, написав obj[2], закинуть в файл тройку и соответсвенно считать ее. Как можно подкорректировать под задание? (т.е. если есть строка "12345", указав позицию ,например, 2 мне выдалось 345) ?
|
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
zhenya1, это учебное задание ? Если нет, то довольно сложно представить себе нормальное использование такого класса.
Если же учебное, то лучше приведи само задание (исходное), и сформулируй почётче вопрос. -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| zhenya1 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 20.9.2010 Репутация: нет Всего: нет |
Вот дословно:
У моего задания номер 5. (оно связано с заданием 4) 4. Реализуйте класс, для которого оператор [] перегружен, чтобы выполнять чтение символов из указанной позиции файла. 5. Реализуйте класс как в задаче 4, но пусть оператор [] индексирует объекты произвольного типа, а не только символы. Я ,вроде, понял как можно закидывать в файл с указанной позиции, но почему я не могу взять и считать данные? Выводится пустая строчка.
|
|||
|
||||
| xvr |
|
||||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 35 Всего: 223 |
Смотрим у вас:
Для справки - '<<' - это запись в файл, а не чтение И ваш operator[] должен возвращать не base&, а T (параметр шаблона) Соответственно file должен быть не ofstream, а basic_ofstream<T> (и ему совершенно не обязательно быть указателем, он вполне может быть прямо членом класса) |
||||||
|
|||||||
| borisbn |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
наверное, всё-таки, не ofstream и не basic_ofstream, а basic_ifstream.
согласен. Тем более, что ты его создаёшь (new), но не удаляешь (delete). -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
||||
|
|||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |