/*
Ejercicio 6
Escriba una plantilla de función llamada maximo() que devuelva
el valor máximo de tres argumentos que se transmitan a la función
cuando sea llamada.
Suponga que los tres argumentos serán del mismo tipo de datos.
*/
#include<iostream>
#include<conio.h>
using namespace std;
// Prototipo de función
template <class TIPOD>
TIPOD maximo(TIPOD dat1, TIPOD dat2, TIPOD dat3);
void pedirDatos();
// Variables globales
float dat1, dat2, dat3; // int, float, double, etc...
int main(){
pedirDatos();
cout << "\nEl dato mayor es: " << maximo(dat1, dat2, dat3);
getch();
return 0;
}
void pedirDatos(){
cout << "Digite el valor del dato 1: "; cin >> dat1;
cout << "Digite el valor del dato 2: "; cin >> dat2;
cout << "Digite el valor del dato 3: "; cin >> dat3;
}
template <class TIPOD>
TIPOD maximo(TIPOD dat1, TIPOD dat2, TIPOD dat3){
TIPOD datMaximo;
if(dat1 >= dat2 && dat1 >= dat3){
datMaximo = dat1;
} else {
if(dat2 >= dat1 && dat2 >= dat3){
datMaximo = dat2;
} else {
datMaximo = dat3;
}
}
return datMaximo;
}
Digite el valor del dato 1: 10.001
Digite el valor del dato 2: 10.231
Digite el valor del dato 3: 10.012
El dato mayor es: 10.231
--------------------------------
Process exited after 46.29 seconds with return value 0
Presione una tecla para continuar . . .