В чем ошибка (работа с памятью, деструкторы)?
У вас же C++, т.е. можете использовать вектор для хранения элементов без необходимости явного выделения памяти:#include <vector>

// double* _coords;
std::vector<double> _coords;

// _coords = new double[N];
_coords.resize(N);
Ну и деструктор можете не писать.
Используйте delete [].