Plantillas - como emplantillar rational ======================================= - Jale rational.htm de ../pub - Entre a la carpeta MSCv6 - Abra el proyecto rat-calc.vcproj - Quite #include "rational.h" del .cpp - Copie el .cpp en el .h antes del #endif // rational_h - Agregue template antes de class rational { - Remplace long por INT (5000 remplazos) - Elimine rational.cpp del proyecto y del disco duro - Póngales template a todos los métodos y funciones que están afuera de la clase. - Sustituya "rational::" por "rational::" - Sustituya "rational" por "rational" en algunos parámetros de métodos que no compilan (lerdo porque hay que hacerlo uno por uno) - Elimine // rational.cpp - Elimine /** \file rational.cpp ... */ - Elimine OPEN_namespace(ADH) - Elimine USING_namespace(ADH) - Elimine CLOSE_namespace(ADH) - Elimine #define INCLUDE_iostream - Elimine #include "ADH_port.h" - Elimine ADH_port.h del proyecto - Agregue #include al principio - Agregue using namespace std; - Sustituya "friend" por "template friend" - Dentro de la clase sustituya todos las funciones friend de manera que tengan rational en lugar de rational. Por ejemplo, la suma debe quedar declarada así: template friend rational operator+ ( const rational&, const rational& ); - En las "friend" no use como parámetro, use - En las funciones "friend", el parámetro a retornar es rational - Sustituya return rational(res_num, res_den); por return rational(res_num, res_den);