#pragma once #include struct SPosition2D { SPosition2D() { Reset(); } SPosition2D(double dPosX, double dPosY) { dPositionX = dPosX; dPositionY = dPosY; } void Reset() { dPositionX = 0.0; dPositionY = 0.0; } SPosition2D& operator-(const SPosition2D& rhs) { if (this != &rhs) { dPositionX = dPositionX - rhs.dPositionX; dPositionY = dPositionY - rhs.dPositionX; } return *this; } SPosition2D& operator+(const SPosition2D& rhs) { if (this != &rhs) { dPositionX = dPositionX + rhs.dPositionX; dPositionY = dPositionY + rhs.dPositionX; } return *this; } double dPositionX; double dPositionY; }; typedef std::vector VectorPosition2D; typedef std::vector::iterator VectorPosition2DIt; typedef std::vector::const_iterator constVectorPosition2DIt;