![]() |
|---|
![]() |
![]() |
![]() |
Templeate
Cuando tenemos sistemas que se comportan igual pero que lo que varia en ellos es el tipo de dato que manejan es conveniente tener una estructura que permita a partir de una clase definir todas las demas.
Un ejemplo de este tipo de problemas son los programas que manejan vectores o matrices. Las operaciones que se realizan entre ellos son siempre iguales solo variando el tipo de dato. De esa manera a partir del contenido de la clase TVector podemos obtener el Templeate TVector.
Como podemos ver a continuaci�n un Templeate no es m�s que una clase generica a la que se le pasa como parametro el tipo de dato que pretendemos utilizar en ella, en este caso sustituido por "T"
| template <class T> class Vector {private: int NrElementos; |
Como se ve hemos sustituido las palabras que designan los tipos de datos por la letra T.
Estas estructuras ser�n utilizadas en los programas como sigue:
| #include "template.h" void main() { int i=0; const cantidad=5; Vector <float> A(cantidad),B(cantidad),C(cantidad); for (;i<cantidad;i++) { A.Llena(i,i*2.3); B.Llena(i,i*3.4); } clrscr(); A.Muestra(); B.Muestra(); C = B + A; C.Muestra(); getch(); } |
Como se ve simplemente con la declaraci�n
| Vector <float> A(cantidad),B(cantidad),C(cantidad); |
tenemos la posibilidad de trabajar con un vector de tipo float. Si quisieramos hacerlo con uno de tipo double bastar�a con cambiar el tipo dentro de los signos <>
| Vector <double> A(cantidad),B(cantidad),C(cantidad); |
el resto del programa se mantiene igual y se usar� la misma biblioteca.
![]() |
![]() |