|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
||||||||||||||||
Покритикуйте код02.10.2011, 23:28. Показов 10936. Ответов 116
Метки нет (Все метки)
Есть класс Студенты (реализован через односвязный список), хотел бы услышать критику по поводу его улучшения, если кому не лень разбираться в столь поздний час
Сам код естественно полностью рабочий и предупреждений тоже компилятор не выдаёт (если не считать в main в условии while, но там всё ок) так что хотелось бы услышать Ваши замечания если что можно сделать лучше.Students.h
0
|
||||||||||||||||
| 02.10.2011, 23:28 | |
|
Ответы с готовыми решениями:
116
Покритикуйте код Графы. Покритикуйте код Пожалуйста, покритикуйте код |
|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
||||||||||||||||
| 06.10.2011, 00:42 [ТС] | ||||||||||||||||
|
Что-то я тут пишу класс и насчёт моего конструктора
0
|
||||||||||||||||
|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
||||||||||||||||
| 06.10.2011, 02:25 [ТС] | ||||||||||||||||
|
Пока переделывал класс под новые нужды определил что сортировка моя шалит временами, не завалялась ли у кого нормально работающая сортировка односвязного списка?
![]() Операции сравнения элементов перегружены уже, нужна лишь сортировка ... Добавлено через 36 минут Хотя это я использовал немного не ту перегрузку (< вместо <=) при сравнении в сортировке, так вроде работает всё же. Критикуйте вновь, хотя изменений не много) Students.h
Исключения убраны по просьбе преподавателя. P.S А как делать спойлеры здесь на форуме, ато такая стена кода получилась ![]() Добавлено через 2 минуты Баллы также хранятся в float по просьбе преподавателя. Добавлено через 15 минут Учитывая что править я код не могу замечу что мне пришлось всё же добавить исключение на случай если идёт попытка разименования итератора ссылающегося на нуль так как здесь уже кроме исключения больше ничего и не сделаешь.
0
|
||||||||||||||||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
| 06.10.2011, 10:58 | ||||||
1
|
||||||
|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
|
| 06.10.2011, 11:15 [ТС] | |
|
Это с прошлого раза осталось, надо бы поправить.
0
|
|
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
| 06.10.2011, 11:18 | ||||||
0
|
||||||
|
|
||||||
| 06.10.2011, 13:28 | ||||||
|
Мнэээ.. Пардон, а почему не
Не по теме: Спойлеры кнопочкой "CUT" рядом с кнопочкой оффтопа. Ну или одноимённый тэг.
0
|
||||||
|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
||
| 10.10.2011, 20:59 [ТС] | ||
|
0
|
||
|
|
|
| 10.10.2011, 21:17 | |
|
Gepar, нет. operator=, как и конструктор копирования, принимает ссылку на объект того же типа. Для класса CClass должен быть operator=( const CClass& ref ). Если вы хотите передать туда ListItem*, то сначала сделайте из него другой итератор, а потом его присваивайте, или перегрузите operator=.
0
|
|
|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
||||||
| 10.10.2011, 21:21 [ТС] | ||||||
|
talis, так, погодите, я запутался ... перегрузку оператора= для чего Вы предлагаете?
0
|
||||||
|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
|||||||||||
| 10.10.2011, 22:15 [ТС] | |||||||||||
|
talis, но тогда (из-за того что принимаем &ref) я не смогу сделать так
0
|
|||||||||||
|
|
||
| 10.10.2011, 22:24 | ||
|
Students::iterator& Students::iterator::operator=( const Students::iterator& ); Добавлено через 7 минут Так, стоп. Значение какого типа возвращает begin()?
1
|
||
|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
||||||||||||||||
| 10.10.2011, 23:03 [ТС] | ||||||||||||||||
|
talis, begin() возвращает iterator.
Добавлено через 1 минуту Дело было в пренебрегании константностью, с const всё заработало, на сколько я понимаю без const не работало потому что begin() возвращает временный объект же ... или я всё же не правильно понял. Добавлено через 15 минут Заодно пытаюсь тут шаблонизировать класс, но что-то до конца не получается при объявлении некоторых функций, например:
0
|
||||||||||||||||
|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
|
| 11.10.2011, 00:04 [ТС] | |
|
Вот, посмотрите пожалуйста, код по работе со студентами работал нормально, main ещё не менял (не дописывал что хочу создать список <CStudent>), изменил на шаблон только в заголовочном файле и в cpp файле до функций возвращающих итераторы так как не понял как же возвращать итераторы в этих шаблонных функциях ...
В архиве две папки: одна оригинал без шаблона, вторая с этими моими попытками сделать шаблон.
0
|
|
|
|
|||||||||||
| 11.10.2011, 01:38 | |||||||||||
|
М-да, забыл упомянуть:
Кстати, видите, как неудачно выбрано имя типа для связного списка - Students? Как, скажем, понимать выражение Students<int> stud? Целочисленные студенты? Мне кажется, что CList<int> и CList<CStudent> выглядят несколько понятнее - список интов и список студентов.
1
|
|||||||||||
|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
|||||||||
| 11.10.2011, 10:18 [ТС] | |||||||||
|
Добавлено через 41 минуту ![]()
Ну вот, теперь код работает как со студентами так и с числами и в общем-то со всем что можно вывести в поток и сравнить(если понадобится сортировать список) . Хотя преподаватель наверняка где-то прицепится, это я смотря на его задания на кр по типу подсчитайте размер класса (знаменитая схемка когда один класс наследуют два класса, а потом третий класс наследует эти два класса, наследование в некоторых вариантах виртуальное, а в некоторых обычное, в принципе здесь ничего сложного) где есть long double и по которому, оказывается, в vs 6.0 идёт выравнивание всего что меньше 8 байт, в том числе и указателей, в том числе и указателей на виртуальную таблицу! После такого коварного задания я уже от него только подвохов и жду
0
|
|||||||||
|
|
||||||
| 11.10.2011, 10:31 | ||||||
|
Gepar, а так нельзя?
![]() Добавлено через 5 минут Слушайте, а где вы учитесь? Мне бы такого препода...
0
|
||||||
| 11.10.2011, 10:31 | |
|
Покритикуйте код финкции нахождения интеграла Покритикуйте и помогите улучшить код моей игры Покритикуйте пожалуйста программу
Шифратор пароля. Покритикуйте пожалуйста. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|