|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
||||||||||||||||
Покритикуйте код02.10.2011, 23:28. Показов 10625. Ответов 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 | |
|
Покритикуйте код финкции нахождения интеграла Покритикуйте и помогите улучшить код моей игры Покритикуйте пожалуйста программу
Шифратор пароля. Покритикуйте пожалуйста. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать
Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
|
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701
Купил два термопринтера QR701.
На сэлф-тесте написано:
Language: PC936 (GB18030).
Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
|