# Program to illustrate the binary operator(+) overloading without creating a new object

``` #include<iostream.h>
#include<conio.h>

//-----------------------------  distance  ------------------------------//

class distance
{
private:
int feet;
float inches;

public:
distance()  { feet=0,inches=0; }
distance(int ft,float inch)  { feet=ft,inches=inch; }
distance operator+(distance);
void get_distance();
void show_distance() { cout<<feet<<\"f- \"<<inches<<\"\'\"<<endl; }
};

//---------------------------  get_distance( )  -------------------------//

void distance::get_distance()
{
cout<<\"\\t Enter the feet = \";
cin>>feet;

cout<<\"\\t Enter the inches = \";
cin>>inches;
}

//-------------------------  operator+(distance)  -----------------------//

distance distance::operator+(distance d2)
{
int f=d2.feet+feet;

float i=d2.inches+inches;

if(i>=12.0)
{
i-=12.0;
f++;
}

return distance(f,i);
}

//-----------------------------  Main( )  -------------------------------//

main( )
{
clrscr();

distance d_1;
distance d_2(11, 6.25);
distance d_3;
distance d_4;

cout<<\"\\n Value of d_1 :\"<<endl;
d_1.get_distance();

d_3=d_1+d_2;
d_4=d_1+d_2+d_3;

cout<<\"\\n Value of d_1 = \";
d_1.show_distance();

cout<<\"\\n Value of d_2 = \";
d_2.show_distance();

cout<<\"\\n Value of d_3 = \";
d_3.show_distance();

cout<<\"\\n Value of d_4 = \";
d_4.show_distance();

getch();
return 0;
}
```