На этом уроке мы создадим "ядро" программы, два основных класса - Корабль и Море. А в конце урока протестируем их работу.
Дата отправки отчёта:
1 сентября 2016 г.
Задание выполнено: за
2 час. 10 мин.
Чему научился:
Повторил работу с матрицами boost::ublas, указателями unique_ptr.
Что было сложным:
Проблем не было.
Комментарии:
Без использования наследования и полиморфизма трудно назвать полученную систему классов объекто-ориентированной. Страуструп называет такой стиль программирования - абстракцией данных, когда создаются мелкие служебные классы, которые инкапсулируют внутри себя данные и открывают к ним доступ через разрешенный интерфейс. Это подготовительный этап к ООП, переходный от процедурного стиля. Не очень нравится реализация классов Моря и Корабля, например их конструкторы не работают как надо. Но это все сложности, они дадут о себе знать, когда программа будет эволюционировать. На данный момент это не важно, реализация системы получилась простой и ясной, понравилась идея двух массивов, здесь она тоже кстати. Евгений Витольдович хорошо продумал, чтобы код получился как можно проще и понятнее, спасибо:)
Научился: Первый раз увидел Enum в деле.
Буду шагать, еще многому научусь. Трудности: Понять, как все данные взаимодействуют друг с другом. Отличный урок! Спасибо.
Научился: Я научился работать со списком и структурой, понял логику будущей игры. Трудности: Самым сложным было разобраться в логике программы, вроде кода мало, но он очень информативный и несет много смысла.