Skip to content
Related Articles

Related Articles

C++ | Templates | Question 9
  • Last Updated : 16 Oct, 2013

Output?




#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);
}


(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

Attention reader! Don’t stop learning now. Get hold of all the important C++ Foundation and STL concepts with the C++ Foundation and STL courses at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up
Recommended Articles
Page :