1 2 3 4 5 6 7 8 9 10
class BaseSystem { public: virtual void update() = 0; }; template <typename T> class System : public BaseSystem { };