Templates in C++

📘 C++ 👁 27 views 📅 Dec 22, 2025
⏱ Estimated reading time: 2 min

A template allows writing generic programs, meaning the same code can work with different data types.


Why Use Templates

  • Code reusability

  • Type safety

  • Reduces code duplication

  • Supports generic programming


Types of Templates in C++

  1. Function Templates

  2. Class Templates


1. Function Templates

A function template works with different data types.

Syntax

template <typename T> return_type function_name(T parameter) { // code }

Example

template <typename T> T add(T a, T b) { return a + b; }

Usage:

cout << add(5, 10); cout << add(2.5, 3.5);

2. Class Templates

A class template allows creating classes with different data types.

Syntax

template <class T> class ClassName { T data; public: void set(T value) { data = value; } };

Example

template <class T> class Box { T value; public: void set(T v) { value = v; } T get() { return value; } };

Usage:

Box<int> b1; Box b2;

Template Parameters

  • typename or class can be used

  • Multiple parameters are allowed

Example:

template <class T, class U>

Advantages of Templates

  • Works with multiple data types

  • Compile-time type checking

  • Cleaner and flexible code


Limitations of Templates

  • Error messages can be complex

  • Increased compilation time

  • Code size may increase


Key Points

  • Templates support generic programming

  • Function templates for functions

  • Class templates for classes

  • Defined at compile time


Conclusion

Templates are powerful tools in C++ that help create reusable and type-safe generic code.


🔒 Some advanced sections are available for Registered Members
Register Now

Share this Post


← Back to Tutorials

Popular Competitive Exam Quizzes