Plantillas y argumentos predeterminados

Parámetros predeterminados para plantillas en C++:
Al igual que los argumentos predeterminados de las funciones, las plantillas también pueden tener argumentos predeterminados. Por ejemplo, en el siguiente programa, el segundo parámetro U tiene el valor predeterminado como char.

#include<iostream>
using namespace std;
  
template<class T, class U = char> class A
{
public:
    T x;
    U y;
};
  
int main()
{
    A<char> a;
    A<int, int> b;
    cout<<sizeof(a)<<endl;
    cout<<sizeof(b)<<endl;
    return 0;
}

Salida: (char toma 1 byte e int toma 4 bytes)
2
8

Además, de forma similar a los argumentos de función predeterminados, si un parámetro de plantilla tiene un argumento predeterminado, todos los parámetros de plantilla que le siguen también deben tener argumentos predeterminados. Por ejemplo, el compilador no permitirá el siguiente programa:

#include<iostream>
using namespace std;
  
template<class T = char, class U, class V = int> class A  // Error
{ 
   // members of A
};
  
int main()
{
    
} 

Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

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 *