December 5th, 2019

(no subject)

Написал класс двумерного вектора для russianaicup.ru

Там, соответственно, точка, вектор, отрезок и прямоугольник (луч не стал писать). Может, кому-то будет интересно. Список реализованных операторов и какие из них встроенные, а какие внешние для классов очень тщательно продумал (я гарантирую это). Но почему так, пока не описал - долго. (

P. S. Естественно, до конца не дописан. )) Но достаточен для практического использования.

И немного кода использования:

class ExtUnit : public Unit { ... };
class MyUnit : public ExtUnit { ... };
class MyStrategy : public MyUnit, public UnitAction { ... };


Наличие конструкторов преобразования позволяет писать:


Vect2 vect2enemy = nearenemy - *this;


И, естественно, есть и такие конструкторы:


ExtUnit(const Unit& unit);


И всё копируется и потом обновляется в собственных list ExtUnit>, list ExtBullet> и т. п.

Подробнее не напишу, пока не закончится - правила не позволяют.