|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
||||||||||||||||
Покритикуйте код02.10.2011, 23:28. Показов 9745. Ответов 116
Метки нет (Все метки)
Есть класс Студенты (реализован через односвязный список), хотел бы услышать критику по поводу его улучшения, если кому не лень разбираться в столь поздний час
Сам код естественно полностью рабочий и предупреждений тоже компилятор не выдаёт (если не считать в main в условии while, но там всё ок) так что хотелось бы услышать Ваши замечания если что можно сделать лучше.Students.h
0
|
||||||||||||||||
| 02.10.2011, 23:28 | |
|
Ответы с готовыми решениями:
116
Покритикуйте код Графы. Покритикуйте код Пожалуйста, покритикуйте код |
|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
||||||||
| 11.10.2011, 10:40 [ТС] | ||||||||
|
Ага, это оно с minigw работает, а вот с vs6.0 это ещё надо попотеть чтобы оно заработало, отслось догадаться что не так читая ошибки типа
![]() Добавлено через 3 минуты Добавлено через 4 минуты Вообще, по рассказам других преподавателей, препод этот по с++ (и по SQL на 4м курсе) где-то работает и нормально зарабатывает, а универ у него так чисто "для души" вот и издевается с нас такими заданиями
0
|
||||||||
|
|
|
| 11.10.2011, 10:53 | |
|
Gepar, да нет. Если не брать задания типа "найдите ошибки в коде на листочке" - всё очень хорошо. Поверьте, когда препод ограничивается заданиями по высшей математике на одно вычисление (ну или максимум двумерными массивами - матрицами), и говорит "сделайте это функциями", "сделайте это классом", "прикрутите наследование как-нить" - это гораздо хуже.
Да и с листочком - если он даст скормить его компилятору и почитать его реакцию, то тоже хорошо. Можно изучить коварные подводные грабли, на самостоятельное знакомство с которыми обычно уходит несколько лет и несколько тысяч кружек чая бессонными ночами со слезящимися глазами.
0
|
|
| 11.10.2011, 10:59 | |
|
Не по теме:
0
|
|
|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
|
| 11.10.2011, 11:03 [ТС] | |
|
talis, ну преподша по паскалю и делфи и говорила что он может реально научить тому как оно есть так как он этими знаниями и правда зарабатывает на практике. С VS 6.0 я так понял с этими кодами ошибок я пойду сейчас к нему, ато я понятия не имею что ей не так-то, ведь пока код не шаблонным был она всё компилировала и не жаловалась.
0
|
|
| 11.10.2011, 11:06 | |
|
Не по теме: А у нас в первом семестре преподаватель super был, Паскаль правда учили. На втором семестре С/С++ должны были учить с другим преподавателем, который посещал занятия через раз, а когда приходил, то рассказывал что-то левое (про интернет-магазины и т.п.), вообще ни чему от него не научились. Хорошо, что у кого-то хоть лекции заумные были:) Всегда обожал строгих, умных и требовательных преподавателей, чтобы по три шкуры сдирал, но мало таких было...:cry: Зато с преподавателями по математическим дисциплинам очень повезло, большинство из МГУ:dance3:
0
|
|
|
|
|
| 11.10.2011, 11:14 | |
|
Gepar, когда пойдёте к преподу с ошибками, упомяните что в MinGW в gcc такой-то версии всё компилируется нормально. VS 6 во-первых старая, во-вторых глючная. Ошибок в ней много. Код, который, скажем, gcc или icpc компилируют на ура, она не кушает. Иногда просто и лаконично - internal compiler error, а иногда такой бред...
0
|
|
|
448 / 211 / 21
Регистрация: 07.10.2011
Сообщений: 462
|
|
| 11.10.2011, 11:40 | |
|
Я помню, что в VS 6 нам препод говорил не разносить определение и реализацию шаблона по разным файлам h и cpp, а писать все в одном. Но это было давно, возможно я что-то путаю
0
|
|
|
|
|
| 11.10.2011, 16:00 | |
|
aeshes, ничего не путаете. Не все vs поддерживают экспорт шаблонов.
Добавлено через 25 секунд По крайней мере я таких не видел.
0
|
|
|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
|
| 11.10.2011, 17:32 [ТС] | |
|
aeshes, я так и пробовал, препод тоже не смог угадать чего ей не нравится, но в этот раз ещё нашёл что ему на этот раз не нравится так что буду исправлять и нести в пн. Не понравилось преподу что у элементов списка (CStudent) нет set/get методов и данные в public (хотя как по мне так там обычная структура со строками да парой интов, чего туда ещё что-то добавлять, ну да просит так сделаю). И ещё он хочет чтобы я вынес итератор, мол Students::iterator это неудобно, как-будто создание отдельно итератора указанного типа удобнее и правильнее, в этом я его не понимаю, ну да я ещё подумаю над этим.
Добавлено через 3 минуты И ещё сказал что лучше перегрузить оператор ! вместо приведения к bool, хотя как по мне так условия типа if(iterator) выглядят вполне логично. Добавлено через 41 секунду Ага, и ещё перетащить CStudent (элемент списка) отдельно от всего (и от .h файла списка и от cpp файла списка).
0
|
|
|
|
||||
| 11.10.2011, 18:35 | ||||
|
На счёт того, что данные должны быть в private или protected - он прав.
1
|
||||
|
|
|||
| 11.10.2011, 20:05 | |||
|
1
|
|||
|
|
|
| 11.10.2011, 20:11 | |
|
Да нет, почему. Если итератор реализован верно (не проверял), то те же for_each или count_if, или find / find_if переписывать смысла нет.
Добавлено через 1 минуту Некоторые алгоритмы STL не получится использовать, потому что у на фактически ForwardIterator - список-то односвязный.
0
|
|
|
|
||
| 11.10.2011, 20:12 | ||
|
0
|
||
|
|
||
| 11.10.2011, 20:16 | ||
|
Сортировка переписывалась-то из тех соображений, что std::sort кушает RandomAccessIterator, а в условиях односвязного списка делать его было несколько нецелесообразно.
Добавлено через 1 минуту
1
|
||
| 11.10.2011, 20:46 | |
|
Не по теме: Этот вопрос имеется у всех за исключением препода :) Препод стенает, что iterator сделан как nested type.
0
|
|
|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
||||||||||||||
| 11.10.2011, 23:43 [ТС] | ||||||||||||||
![]() Добавлено через 2 минуты В общем завтра уже займусь моим классом сегодня лень, препод ещё предлагал если так нравится красота вида Students::iterator то чтобы я вынес класс-итератор а потом дефайном в классе Students его как-то хитро объявил и тогда вызовы из main
0
|
||||||||||||||
|
|
||||
| 11.10.2011, 23:46 | ||||
|
Добавлено через 1 минуту
0
|
||||
|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
||||
| 11.10.2011, 23:48 [ТС] | ||||
Но это чуть позже, нужно доделать не шаблонную версию класса чтобы преподу она нравилась.Добавлено через 1 минуту А Вы поняли как он хочет это сделать? Я что-то не понял как это я дефайном его должен там влеплять? Хотя это я больше из интереса спрашиваю, препод такой что если ты ему доказываешь свою точку мнения то он насчёт стиля ещё как-то соглашается чтобы и так было, вот насчёт set/get методов для CStudent там например не поспоришь, а здесь я если что его переговорю.
0
|
||||
|
|
|
| 11.10.2011, 23:52 | |
|
Скажите вашему Гудвину, что где-то там, за горами и пустыней, уже приняли C++11. Это к слову о vs6.
Добавлено через 50 секунд Я про дефайн тоже не очень понял. Типа, #define Students::iterator iterator - так как-то, похоже
0
|
|
| 11.10.2011, 23:52 | |
|
Помогаю со студенческими работами здесь
100
Покритикуйте код финкции нахождения интеграла Покритикуйте и помогите улучшить код моей игры Покритикуйте пожалуйста программу
Шифратор пароля. Покритикуйте пожалуйста. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|