1. Name of the all functions is same
2. Argument list or data type is different
3. Return type does not matters

Example 1: Find sum of 2 numbers and 3 numbers using function overloading.

```#include<iostream.h>

using namespace std;

//function declaration
int sum (int , int);
int sum (int , int, int );

int main()
{
int a, b, c, sum1, sum2;
cout<<"Enter 2 numbers: ";
cin>>a;
cin>>b;
sum1 = sum(a, b);  // function call
cout<<"Sum of 2 numbers is: "<<sum1;

cout<<"Enter 3 numbers: ";
cin>>a;
cin>>b;
cin>>c
sum2 = sum(a, b, c); //! function call
cout<<"Sum of 3 numbers is: "<<sum2;
return 0;
}

// function definition
int sum (int a, int b)
{
int c;
c = a+b;
return c;
}

int sum (int a, int b , int c)
{
int d;
d = a+b+c;
return d;
}```
Enter 2 numbers: 10
15
Sum of 2 numbers is: 25
Enter 3 numbers: 10
15
20
Sum of 3 numbers is: 45
2. ```#include<iostream.h>
#include<conio.h>

float area (float r);  // function declaration for area of circle
int area (int l, int b); // function declaration for area of rectangle

void main()
{
clrscr();
float r, a2;
int l, b, a1;

cin>>r;

cout<<"Enter Length of rectangle: ";
cin>>l;
cin>>b;

a1 = area(l,b); //function calling (rectangle)
a2 = area(r); //function calling (circle)

cout<<"Area of Circle = "<< a2 << endl;
cout<<"Area of Rectangle = "<< a1;
getch();
}

float area (float r)
{
float a;
a = 3.14 * r * r;
return a;
}

int area (int l, int b)
{
int a;
a = l * b;
return a;
}
Output:
Enter Length of rectangle: 10
Area of Circle = 78.5
Area of Rectangle = 200
```
3. WAP to calculate area of circle, rectangle, and triangle using function overloading.
4. ```#include <iostream>
using namespace std;

int area (int l, int b);
float area (float r);

int area (int s)
{
int a;
a = s*s;
return a;
}

int main()
{
int n, l, b, a, s;
float r, a2;
cout << "Enter number to find area\n";
cout << "1 - Rectangle"<<endl;
cout << "2 - Circle"<<endl;
cout << "3 - Square"<<endl;
cin>>n;
switch(n)
{
case 1:
cin>>l>>b;
a=area(l,b);
cout<<"Area of Rectangle = " << a;
break;
case 2:
cin>>r;
a2=area(r);
cout<<"Area of Circle = " << a2;
break;
case 3:
cout<<"Enter side";
cin>>s;
a=area(s);
cout<<"Area of Square = " << a;
break;
}
return 0;
}
int area (int l, int b)
{
int a;
a = l * b;
return a;
}
float area (float r)
{
float a2;
a2 = 3.14 * r*r;
return a2;
}```