class BaseSystem { public: virtual void update() = 0; }; template class System : public BaseSystem { };