Templates provide a different kind of reuse than that provided by inheritance with dynamic dispatch. Templates are also extensively used for the C++ Standard Template Library which implements a large number of data structures and also algorithms.
The algorithms in STL are implemented as template functions - typically non-member functions.
The data structures in STL are implemented as template classes.