|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
||||||||||||||||
Покритикуйте код02.10.2011, 23:28. Показов 10458. Ответов 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 | |
|
Покритикуйте код финкции нахождения интеграла Покритикуйте и помогите улучшить код моей игры Покритикуйте пожалуйста программу
Шифратор пароля. Покритикуйте пожалуйста. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал.
Оно само - говорит.
Кто слышит тот слышит.
|
Оказывается, Unreal Engine позволяет качество на порядки выше, чем было в Lineedge
Etyuhibosecyu 05.07.2026
Жаль, конечно, что я не узнал об этом, пока Lineedge существовала, а то бы Noname2331 написал, что волки превращаются в пиксельную кашу, а я бы его попросил скачать какую-нибудь бриллиантовую или Pro. . .
|
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было
ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась.
Первый вариант. . .
|
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2.
Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
|
|
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|