Templates allow writing generic and reusable code.
template<typename T> T add(T a, T b) { return a + b; } int main() { cout << add<int>(2, 3) << endl; cout << add<float>(2.5, 3.1); }
Templates can be used with functions and classes for type independence.