Sunteți pe pagina 1din 4

PRESENTACION

El siguiente trabajo presenta la utilidad de templates o plantillas para


funciones.Se mostrarán ejemplos para poder entender su conocimiento, así
como su sintaxis y desarrollo.Las plantillas son una herramienta para todos los
programadores, debido a su tendencia a simplicar las cosas.A continuación se
presenta una breve definición más ejemplos de aplicación, que se espera sirva
para su total comprensión.
PLANTILLAS DE FUNCIONES
Templates en inglés ,conocidos como tipos parametrizados permiten generar
una función la cual permite cualquier tipo de variable , evitando así volver a
repetir el código.
SINTAXIS
template<class identificador> función(identificador
parametros)
Con algunos ejemplos la idea quedará suficientemente clara
#include <iostream>
using namespace std;
template<classEJEMPLO1> EJEMPLO1 mostrar_resultado(EJEMPLO1 num1
, EJEMPLO1 num2);//declaración de la plantilla,notar que no
especificamos ningún tipo de variable.
int main(int argc, char *argv[]) {
int num1=3,num2=5;
float num3=4.5, num4=43.4;
cout<<"La suma de los enteros es:
"<<mostrar_resultado(num1,num2)<<endl;
cout<<"La suma de reales:
"<<mostrar_resultado(num3,num4)<<endl;
return 0;
//Como se puede observar, la misma función es utilizada por dos
tipos distintos de variables, mostrando así la utilidad de la
plantilla
}
template<classEJEMPLO1> EJEMPLO1 mostrar_resultado(EJEMPLO1 num1,
EJEMPLO1 num2){
return num1+num2;//desarrollo de la plantilla , notar que en
ningún momento se específico el tipo de variable
}

RESULTADO EN CONSOLA-EJEMPLO 1
En los parámetros de la plantilla también podemos incluir parámetros por
referencia y esto no afectará en nada :
#include <iostream>
using namespace std;
template <class EJEMPLO2>
void ingreso(EJEMPLO2 &num1);
template <class EJEMPLO2>
void mostrar(EJEMPLO2 num);
int main(int argc, char *argv[]) {
int num;
float num2;
ingreso(num);
ingreso(num2);
cout<<"Numero entero: "<<endl;
mostrar(num);
cout<<"Numero real: "<<endl; RESULTADO EN CONSOLA-EJEMPLO 2
mostrar(num2);
return 0;
}
template <class EJEMPLO2>
void ingreso(EJEMPLO2 &num1){
cout<<"Ingrese el numero: ";
cin>>num1;
}
template <class EJEMPLO2>
void mostrar(EJEMPLO2 num){
cout<<"El numero ingresado fue: "<<num<<endl;
}

No solo se limita a lo que es una variable si no que también pueden ser


introducidos arreglos:
#include <iostream>
using namespace std;
template <class EJEMPLO3> void ingresar(EJEMPLO3[]);
template <class EJEMPLO3> void mostrar(EJEMPLO3 []);
int main(int argc, char *argv[]) {
int x[20];
float y[20];
cout<<"Enteros: "<<endl;
ingresar(x);
cout<<"\nReales: "<<endl;
ingresar(y);
cout<<"Array entero: "<<endl;
mostrar(x);
cout<<"Array real: "<<endl; RESULTADO EN CONSOLA EJEMPLO 3
mostrar(y);
return 0;
}
template <class EJEMPLO3> void ingresar(EJEMPLO3 x[]){
int i;
for(i=0;i<4;i++){
cout<<"v["<<i+1<<"]: ";
cin>>x[i];
}
}
template <class EJEMPLO3> void mostrar(EJEMPLO3 x[]){
int i;
for(i=0;i<4;i++){
cout<<"v["<<i+1<<"]: "<<x[i]<<endl;
}
}

CONCLUSIONES:
 C++ es un lenguaje sofisticado , que a medida que se avanza en
conocimientos tiende a mostrar funciones o tipos que simplifican lo
aprendido antes , permitiendo aplicar lo investigado para trabajos
posteriores.
 Las plantillas ahorran líneas de código , y simplifica el trabajo del
programador.

S-ar putea să vă placă și