|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
||||||||||||||||
Покритикуйте код02.10.2011, 23:28. Показов 11573. Ответов 116
Метки нет (Все метки)
Есть класс Студенты (реализован через односвязный список), хотел бы услышать критику по поводу его улучшения, если кому не лень разбираться в столь поздний час
Сам код естественно полностью рабочий и предупреждений тоже компилятор не выдаёт (если не считать в main в условии while, но там всё ок) так что хотелось бы услышать Ваши замечания если что можно сделать лучше.Students.h
0
|
||||||||||||||||
| 02.10.2011, 23:28 | |
|
Ответы с готовыми решениями:
116
Покритикуйте код Графы. Покритикуйте код Пожалуйста, покритикуйте код |
|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
|
| 11.10.2011, 23:53 [ТС] | |
|
Кстати, как Вы заметили у меня задание с односвязным списком, а ведь есть и на другие структуры у этого препода: лучше всего это на двумерный динамический массив где он хочет чтобы использовали realoc (и конструкторы же конечно не вызываются для новых элементов так как си-стиль), в общем у меня ещё задание ничего так.
0
|
|
|
|
|
| 11.10.2011, 23:54 | |
|
Правда, я не уверен на счёт компилябильности подобных извращений.
Добавлено через 1 минуту А вот использовать сишное выделение памяти для C++-объектов, это свинство, маразм и преступление против человечности.
0
|
|
|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
||
| 11.10.2011, 23:58 [ТС] | ||
|
Кстати там дальше интерфейсы идут так вот преподаватель советует читать Петзольда - программирование под win95, говорит что мол функции winapi с того времени не менялись, собственно он прав или нет? Ато у меня по программе до конца декабря MFC + winapi получается изучение (может и не глубокое, пока не знаю), так вот стоит начинать с той книги Петзольда или что поновее найти, а потом, в случае если заводится лаба на VS 6.0 не будет, притащить ноутбук и с него в 2010 сдавать, как считаете? Ато как-то не хочется закончить универ имея знания которые устарели на десяток лет, хотя вот в случае с asm'ом старые книги вполне подходили, а вот какая ситуация здесь?
0
|
||
| 12.10.2011, 00:35 | |
|
Не по теме:
0
|
|
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
| 12.10.2011, 01:24 | ||||||
|
Gepar, Дико подозреваю что препод желает чтобы класс итератора был отдельно, а в самом классе Students(List) был typedef на этот итератор.
Итого получится.
Так же замечу, что в реализации STL от gcc в том же списке _List_iterator<T>, _List_const_iterator не является nested типом, для мапы, для вектора олсо.
2
|
||||||
|
|
||||||||
| 12.10.2011, 01:45 | ||||||||
|
Да, и правда. В gcc так, как говорит ForEveR:
Добавлено через 3 минуты
1
|
||||||||
|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
|||
| 12.10.2011, 09:35 [ТС] | |||
|
ForEveR, после ваших слов вроде понял как нужно сделать, я только ещё каюсь в прошлый раз не смог вытащить сам класс итератор из определения чтобы потом функция begin() и end() возвращающая итератор понимала где он и что он собой представляет, ну да сейчас уже класс значительно изменился и итератор не столь привязан к тонкостям класса и всё должно получиться имея нормальный вид.
0
|
|||
|
|
||||
| 12.10.2011, 09:42 | ||||
![]()
1
|
||||
|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
|||
| 12.10.2011, 10:18 [ТС] | |||
|
0
|
|||
|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
|||||||||||||||||||||||||||||||
| 15.10.2011, 18:10 [ТС] | |||||||||||||||||||||||||||||||
|
Очередная реинкарнация списка студентов
Собственно в сей раз добавил set/get методов классу CStudent, вытащил итератор из списка, переименовал список в List, разбил CStudent на два файла (с одним .h не получалось - получал ошибку при линковке), добавил кое-где const, убрал свой класс-исключения (теперь в одном случае выбрасывается число - так захотел препод) и сделал итератор шаблонным и принимающим два параметра(если создавать через List то за счёт typedef параметры указывать не надо) ну и получилось что получилось. Собственно всё работает, но просьба просмотреть если у кого есть желание, и указать на места где можно что поправить.Элементы списка CStudent.h
CStudent.cpp
Сам список List.h
List.cpp
Итератор для списка ListIterator.h
Ну и собственно main main.cpp
0
|
|||||||||||||||||||||||||||||||
|
|
||
| 16.10.2011, 00:09 | ||
|
class List у вас больше не шаблонный? Зря, очень зря.
0
|
||
|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
||||||||||||||
| 16.10.2011, 14:05 [ТС] | ||||||||||||||
|
Добавлено через 3 минуты
Добавлено через 2 минуты Ошибки кстати если и есть то вероятнее всего они могут быть в списке так как там все эти обращения через указатели, а так остальные классы типа итератора и элемента списка довольно простенькие.
0
|
||||||||||||||
|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
|
| 16.10.2011, 16:01 [ТС] | |
|
Jupiter, а, тьфу, тогда лучше было писать мне if(!Head)
Странно что компилятор не выдал предупреждение, он ведь обычно меня предупреждал если в if идёт присваивание, а в этот раз не предупредил.Добавлено через 3 минуты talis, ну да, так тоже можно, но это ведь уже после создания такой функции можно, изначально делал как он попросил - без итератора просто поиск информационной части.
0
|
|
| 16.10.2011, 16:01 | |
|
Покритикуйте код финкции нахождения интеграла Покритикуйте и помогите улучшить код моей игры Покритикуйте пожалуйста программу
Шифратор пароля. Покритикуйте пожалуйста. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Транслитерация текста с кириллицы на латиницу (вариант №2)
Maks 13.11.2026
Обновленная версия ранее созданной обработки.
Добавлено:
- Проверка исходного текста на кириллицу, через обращение к стандартной функции "ТолькоКириллицаВСтроке" из общего модуля. . .
|
Часы с термометром и праздничным календарем
yariko 12.11.2026
Сегодня мы рассмотрим как можно сделать отличные многофункциональные часы.
Итак, поставим конкретную задачу: разработать часы с календарем, двумя термодатчиками, выводом поздравительных сообщений. . .
|
Транслитерация текста с кириллицы на латиницу (вариант №1)
Maks 11.11.2026
Решил облегчить жизнь себе и коллегам админам при создании электронных почтовых ящиков для пользователей, в результате написал обработку "Транслитерация текста" с кириллицы на латиницу, а в ней. . .
|
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version
1. 2003 - 06 - Designing Virtual Worlds (1st Edition)
Автор: Richard A. Bartle | Объем: 768 стр.
Ссылки: Amazon
. . .
|
|
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
|
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы.
Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
|
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version
Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
|
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров".
Задача:
Запрет инициалов.
Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
|