template<int, class T>
class Vector{};

template<class V>
class Integrator
{};

template<class T>
class SecondOrderODE
{};

template<class T, class V = Vector<2, T>>
class IntegratorSymplecticEuler : Integrator<V>
{
public:
    IntegratorSymplecticEuler(SecondOrderODE<T> *ode, double t, double h, V* y) {}
};

int main()
{
	IntegratorSymplecticEuler<double> ise(nullptr, 0.0, 0.0, nullptr);
	return 0;
}