
// Program to illustrate function overloading
#include<iostream.h>
float max(float,float,float);
int max(int,int,int);
void main()
{
     int choice;
     float x,y,z;
     int a,b,c;
     cout<<"\n Enter 1 to find maximum number among floats ";
     cout<<"\n Enter 2 to find maximum number among integers \n";
     cin>>choice;
     switch(choice)
     {
          case 1: cout<<"\n Enter 3 float values \n";
          cin>>x>>y>>z;
          cout<<"\n Maximum number is :"<<max(x,y,z);
          break;
          case 2: cout<<"\n Enter 3 integer values \n";
          cin>>a>>b>>c;
          cout<<"\n Maximum number is :"<<max(a,b,c);
          break;
          default:
          cout<<"\n invalid choice try again";
     }
}
float max(float p,float q, float r)
{
     if(p>q && p>r)
     return p;
     else if(q>r)
     return q;
     else
     return r;
}
int max(int p, int q, int r)
{
     if(p>q && p>r)
     return p;
     else if(q>r)
     return q;
     else
     return r;
}
Test data
Enter 1 to find maximum number among floats
Enter 2 to find maximum number among integers
2
Enter 3 integer values
10 6 13
output
Maximum number is : 13