Допустим что перед нами стоит задача разработать тип данных, задающий положение на плоскости некторой точки, например, персонажа компьютерной игры. Первый вариант может выглядеть следующим образом: class Coord { int x_, y_; public: Coord(int x, int y) : x_(x), y_(y) {} //далее идут методы для работы с координатами }; Несмотря на крайнюю простоту, при использовании Coord может возникнуть проблема, связанная с тем, что оба параметра конструктора имеют один и тот же тип. Следовательно, передаваемые значения легко перепутать и переставить местами, указав y в качестве первого параметра и x в качестве второго. Как решить данную проблему? Существует несколько вариантов. Вариант 1. Использовать подход применяемый в предметно-ориентированном проектировании (DDD). DDD - это набор принципов и схем, направленных на создание оптимальных систем объектов. Сводится к созданию программных абстракций, которые называются моделями предметных областей. В эти модели входит бизнес-логика, устанавливающая св
Применяем пользовательские типы для предотвращения ошибок в передаче параметров в С++
26 апреля26 апр
3
3 мин