レスありがとうございます。
コピーコンストラクタって今まであまり意識していなかったのですが
今回、参照の指す先がおかしいということでしたので
Coordinate( const Coordinate& C )
:x(this->coo.X)
,y(this->coo.Y)
{
this->coo = C.coo;
}
というコピーコンストラクタを明記してみたら、意図していた通りに動くようになりました