Вот была у меня вот такая вот длинная запись

snake.Body->NowItem->next->Date.x=snake.Body->NowItem->Date.x+dx;

snake.Body->NowItem->next->Date.y=snake.Body->NowItem->Date.y+dy;

Но потом все-таки было решено перегрузить оператор + ...

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

иметирующую оператор+ как T sum(T A, T B){...}



Хотя... это тоже не лучшее решение... Надо было перегружать оператор +=