C++ | Plantillas | Pregunta 9

¿Producción?

#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) Llamado 20
(C) Error del compilador

Respuesta: (B)
Explicación: El programa anterior es un ejemplo de especialización de plantilla. En algún momento queremos un comportamiento diferente de una plantilla de función/clase para un tipo de datos en particular. Para esto, podemos crear una versión especializada para ese tipo de datos en particular.
Cuestionario de esta pregunta

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *