Opened 4 years ago
Closed 4 years ago
#666 closed ожидаются исправления (задача сдана)
WW #11
Reported by: | zhemchuzhina.elizaveta | Owned by: | zhemchuzhina.elizaveta |
---|---|---|---|
Component: | WW cpp_io | Version: | 1.0 |
Keywords: | Cc: |
Description
Change History (3)
comment:1 Changed 4 years ago by
comment:2 Changed 4 years ago by
Owner: | changed from Дмитрий Свиридкин to zhemchuzhina.elizaveta |
---|---|
Type: | ожидается проверка → ожидаются исправления |
comment:3 Changed 4 years ago by
Resolution: | → задача сдана |
---|---|
Status: | assigned → closed |
Note: See
TracTickets for help on using
tickets.
Вроде работает.
Зачем нужны отдельные перегрузки операторов ввода/вывода для каждого типа, если у вас есть виртуальный метод output? К нему, кстати, в пару стоило сделать еще и input.
Реализовывать стоит оператор через виртуальны метод, а не метод, через оператор.
Переопределения методов в наследниках стоит помечать override.
SalesManager &operator=(SalesManager &other) { return other; };
-- Вместо таких странных решения используйте = delete. Потому что этим странным оператором вы можете случайно воспользоваться, а удаленным -- точно нет.explicit read_c_str(char **a, int size_x)
-- этому манипулятору нет надобности менять указатель. Буффер должен быть предвыделен пользователем. Потому-то размер и передается.Манипуляторы в операторы ввода/вывода стоит передавать по константной ссылке. Не очень понятно, почему они реализованы в employees.cpp
tmp[workers] = (Employee *) empl;
не отбрасывайте const.Перевыделение памяти после каждого добавления элемента -- это, конечно, работает, но не очень хорошо
У вас есть enum с типами, а в одном из операторов -- магические константы.
out.write((char *) &x, sizeof(char));
x -- нулевой символ? Его можно сделать статической костантой в этой функции. И const не надо отбрасывать.Магические константы для типов протекли в main. Код, читающий и определяющий тип, повторяется дважды. Его можно завернуть в отдельную функцию.
6/10