Sei sulla pagina 1di 4

ELECTIVA ENFASIS TECNOLOGICO 2/51128

Ana María Clavijo Cifuentes (51128)

Diego Fernando Henao Salinas (51128)

Profesor: Azael Humberto Rodriguez Arias

CUN corporación unificada nacional de educación superior


Plantillas en C++

Ejemplo 1

Las plantillas no definen un tipo de dato desde el principio, sino dejan esto como algo pendiente y usan
algo que permita manejar varias opciones, de hecho se usa una variable para este propósito. Sintaxis para
las funciones:

El identificador es el símbolo que guarda el tipo de dato que se ha de usar una vez elegido, por lo que en
la definición de la función deberá utilizarse en lugar de los nombres de los tipos de datos, asi queda hecha
una función genérica a la cual podemos llamar función-plantilla.

El identificador que usamos es “tipo”, por eso el tipo de dato de retorno y el de los parámetros debe ser
ese identificador. Durante la compilación del programa, en la invocación a la función, se resuelve el tipo
que se usará y el compilador escribirá, con base en la plantilla, una función que sirva con el tipo de dato
resuelto y será la que realmente se utilice para dicha invocación.

Se puede usar una especificación explícita para el tipo de dato que se usará en la función escribiendo
<tipo_dato> o dejar que el compilador resuelva el tipo con los argumentos. Cabe destacar que las
plantillas funcionan no solo con tipos de datos primitivos sino también con los estructurados como las
clases, aunque para nuestro ejemplo debemos tener sobrecargado el operador de comparación usado en la
definición de la función “>”.
Ejemplo 2

En el siguiente caso es una “plantilla” de un Punto, no escribimos ninguna clase y a partir de esta
plantilla, no se generará nada de código. Lo que escribimos es lo que en algún momento el compilador
convertirá en una clase, reemplazando, los T por el tipo de dato que el que esté creando una instancia de
la plantilla especifique.

Si queremos hacer:

Cuando el compilador tenga que generar el código para instanciar “p”, deducirá que tiene que usar la
plantilla “Punto” y reemplazar el tipo T por “int”; así que en ese instante e internamente, el compilador
generará algo similar a esto:
La importancia de las plantillas es la manera de escribir funciones y clases para que estas puedan ser
usadas con cualquier tipo de dato, pero evitando el trabajo de escribir cada versión de la función. Las
ventajas son mayores en el caso de las clases, ya que no se permite hacer sobrecarga de ellas y tendríamos
que decidirnos por una sola o hacer especializaciones usando la herencia.

Bibliografía:
Plantillas (C++) en https://learn.microsoft.com/es-es/cpp/cpp/templates-cpp?view=msvc-170

Potrebbero piacerti anche