Opened 4 years ago

Closed 4 years ago

#655 closed ожидаются исправления (задача сдана)

WW #11

Reported by: fedorov.vladimir Owned by: fedorov.vladimir
Component: WW cpp_io Version: 2.0
Keywords: Cc:

Description


Change History (4)

comment:1 Changed 4 years ago by Дмитрий Свиридкин

Owner: changed from Дмитрий Свиридкин to fedorov.vladimir
Type: ожидается проверкаожидаются исправления
Version: 1.0

Sales Manager раздельно
После total salary должна быть пустая строка

поле _type особого смысла не имеет, а место занимает. У вас и так тип объекта (имя класса) есть, зачем еще одно поле?
Для численного представления лучше завести константы или, еще лучше, enum.

in >> read_le_int32(&_price); как бы хотелось по ссылке передавать, а не через указатель. Это, конечно, одно и то же. Но у ссылок есть замечательное свойство -- они не могут быть нулевыми.

В блоках if-else, в которых вы определяете тип и читаете, можно оставить только определение типа, а чтение вынести.

Объекты, создаваемые конструкторами по умолчанию, у вас находятся в неконсистенктом состоянии (строка с мусором, тривиальные типы не имеют конструкторов) и пользоваться ими до чтения нельзя. Нужно либо запретить использование конструкторов по умолчанию пользовательским кодом, либо привести объекты в адекватное состояние.

в манипуляторе для чтения строк хорошо бы просигнализировать об ошибке, если строка слишком длинная

6/10

comment:2 Changed 4 years ago by fedorov.vladimir

Owner: changed from fedorov.vladimir to Дмитрий Свиридкин
Type: ожидаются исправленияожидается проверка
Version: 1.02.0

comment:3 Changed 4 years ago by Дмитрий Свиридкин

Owner: changed from Дмитрий Свиридкин to fedorov.vladimir
Type: ожидается проверкаожидаются исправления

Переопределение виртуальных методов стоит помечать override.

Зачем в самом манипуляторе хранить 4хбайнтный буфер И само число?

 int32_t type;
 std::cin >> type;
 Employee *empl = create_employee(type);
 if (empl == nullptr) {
       continue;
 }
 std::cin >> *empl;

Вычитывать типы должен функционал модуля, а не пользовательский код.

8.8/10

comment:4 Changed 4 years ago by Дмитрий Свиридкин

Resolution: задача сдана
Status: assignedclosed
Note: See TracTickets for help on using tickets.