Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Plantillas I
1
So recarga
'e Operadores Creacin 'inmica de O !etos
Herencia(
Herencia M+ltiple
Polimor,ismo
#unciones *irtuales Polimor,ismo y So recarga(
Plantillas
Contenedores
Iteradores
22.1 Repaso
Programacin Orientada a Objeto: .uscamos resolver roblemas/
Optimi1ar nuestro es,uer1o( "tili1ar lo 2ue 3an 3ec3o otros o nosotros mismos( 0ue sea e,iciente( Hacer nuestro cdigo los ms gen4rico posi le(
22.1 Repaso
Programacin Orientada a Objeto:
#igura
Paralelogramo
Elipse
Rectngulo
)rapecio
C9rculo
Repetimos el cdigo de la ,uncin/ Reutili1acin de %copiaApega& $plicamos so recarga de ,unciones( Pro lemas/ Posi ilidad de errores( Replicacin de pro lemas( Cdigo 2ue no est centrali1ado( BSi 2ueremos el mCimo para doublesD
E
=as ,unciones maCimo67 tienen el mismo cuerpo( Se di,erencian en los prototipos< en la declaracin( Claro eso es por2ue los tipos de los argumentos son di,erentes( Parece interesante y +til/ %)ener una ,uncin gen4rica capa1 de calcular el mCimo de dos ;alores de cual2uier tipo(& C++ nos permite esto mismo de,iniendo ,unciones gen4ricas 6para cual2uier tipo7 mediante el uso de Plantillas A Templates(
F
1I
int main() { char c[5]={5, 6, 3, 2, 0}; int a; float b; double m; a = maximo(5,10); b = maximo(4.5, 5.0, 9.0); m = maximo(c, 5); }
11
=a plantilla 3ace lo correcto con tipos de datos tales como enteros< reales<((( :o 3ace lo esperado con cadenas( BPor 2u4D B#unciona nuestra plantilla con la clase $lumnoD =e ,alta algo< BnoD BEl 2u4D
1-
15
$3ora nos dicen 2ue necesitan otra ,uncin para arrays de %long int&( "samos la so recarga/ A Ellos 3acen la llamada igual( A :osotros %copiarApegar&
long int max_array (long int arr[ ] ,int tam ) { long int aux; aux = arr[0]; for (int i =0; i<tam; i++) { if ( arr[i]>aux ) aux = arr[i]; } return aux; } 18
1.- Implementar max_array usando una funcin genrica. 2.- Hacer que sirva tambin para cadenas (char*)
1@