Template Specialization in C++ Program?


In this tutorial, we will be discussing a program to understand Template specialization in C++.

Standard functions like sort() can be used with any data types and they behave the same with each of them. But if you want to set a special behaviour of the function for a particular data type (even user defined), we can use template specialization.

Example

 Live Demo

#include <iostream>
using namespace std;
template <class T>
void fun(T a) {
   cout << "The main template fun(): " << a << endl;
}
template<>
void fun(int a) {
   cout << "Specialized Template for int type: " << a << endl;
}
int main(){
   fun<char>('a');
   fun<int>(10);
   fun<float>(10.14);
   return 0;
}

Output

The main template fun(): a
Specialized Template for int type: 10
The main template fun(): 10.14

Updated on: 02-Mar-2020

107 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements