|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
||||||||||||||||
Покритикуйте код02.10.2011, 23:28. Показов 10650. Ответов 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 | |
|
Покритикуйте код финкции нахождения интеграла Покритикуйте и помогите улучшить код моей игры Покритикуйте пожалуйста программу
Шифратор пароля. Покритикуйте пожалуйста. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|
Установка 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С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|