C++ | Templates | Question 9

Output?

filter_none

edit
close

play_arrow

link
brightness_4
code

#include <iostream>
using namespace std;
  
template <class T>
T max (T &a, T &b)
{
    return (a > b)? a : b;
}
  
template <>
int max <int> (int &a, int &b)
{
    cout << "Called ";
    return (a > b)? a : b;
}
  
int main ()
{
    int a = 10, b = 20;
    cout << max <int> (a, b);
}

chevron_right


(A) 20
(B) Called 20
(C) Compiler Error


Answer: (B)

Explanation: Above program is an example of template specialization. Sometime we want a different behaviour of a function/class template for a particular data type. For this, we can create a specialized version for that particular data type.

Quiz of this Question



My Personal Notes arrow_drop_up


Article Tags :
Practice Tags :


Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.