# Program to illustrate the binary operator(-) overloading without creating an object of that class

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

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

class distance
{
private:
int feet;
float inches;

public:
distance()
{
feet=0;
inches=0.0;
}

distance(int f,float i)
{
feet=f;
inches=i;
}

distance operator -(distance);

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

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

void show_distance()
{
cout<<feet<<\" f - \"<<inches<<\"\'\"<<endl;
}
};

//------------------------  Function Definitions  -----------------------//

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

distance distance::operator-(distance d_1)
{
int f=feet-d_1.feet;
float i=inches-d_1.inches;

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

return distance(f,i);
}

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;
}