Operator Overloading
Operator Overloading
class Rational
int num,den;
public:
/*void read();
void print();*/
Rational(){}
Rational(int k)
num=k;
den=1;
};
in>>r.num>>r.den;
out<<r.num<<"/"<<r.den<<endl;
/*void Rational::read()
{
cout<<"Enter Numerator and Denomenator: "<<endl;
cin>>num>>den;
void Rational::print()
}*/
Rational T;
T.num=num*r.den+den*r.num;
T.den=den*r.den;
return T;
Rational T;
T.num=num*r.den-den*r.num;
T.den=den*r.den;
return T;
Rational t;
t.num=s*r.den+r.num;
t.den=r.den;
return t;
Rational t;
t.num=num+s*den;
t.den=den;
return t;
Rational T;
T.num=s*r1.den-r1.num;
T.den=r1.den;
return T;
Rational T;
T.num=num-den*s;
T.den=den;
return T;
Rational T;
T.num=num*r.num;
T.den=den*r.den;
return T;
Rational T;
T.num=s*r1.num;
T.den=r1.den;
return T;
}
Rational T;
T.num=num*s;
T.den=den;
return T;
Rational T;
T.num=num*r.den;
T.den=den*r.num;
return T;
Rational T;
T.num=num;
T.den=den*s;
return T;
Rational T;
T.num=s*r1.den;
T.den=r1.num;
return T;
{
num=num+den;
den=den;
return *this;
Rational t=*this;
num=num+den;
den=den;
return t;
num=num-den;
den=den;
return *this;
Rational t=*this;
num=num-den;
den=den;
return t;
float f1=float(num)/den;
float f2=float(r.num)/r.den;
if(f1>f2)
return 1;
return 0;
}
float f1=float(num)/den;
if(f1>s)
return 1;
return 0;
float f1=float(r.num)/r.den;
if(s>f1)
return 1;
return 0;
float f1=float(num)/den;
float f2=float(r.num)/r.den;
if(f1<f2)
return 1;
return 0;
float f1=float(r1.num)/r1.den;
if(s<f1)
return 1;
return 0;
float f1=float(num)/den;
if(f1<s)
return 1;
return 0;
float f1=float(num)/den;
float f2=float(r.num)/r.den;
if(f1>=f2)
return 1;
return 0;
float f2=float(r1.num)/r1.den;
if(s>=f2)
return 1;
return 0;
float f1=float(num)/den;
if(f1>=s)
return 1;
return 0;
float f1=float(num)/den;
float f2=float(r.num)/r.den;
if(f1<=f2)
return 1;
return 0;
float f1=float(num)/den;
if(f1<=s)
return 1;
return 0;
float f2=float(r1.num)/r1.den;
if(s=f2)
return 1;
return 0;
float f1=float(num)/den;
float f2=float(r.num)/r.den;
if(f1==f2)
return 1;
return 0;
float f2=float(r1.num)/r1.den;
if(s==f2)
return 1;
return 0;
float f1=float(num)/den;
if(f1==s)
return 1;
return 0;
float f1=float(num)/den;
float f2=float(r.num)/r.den;
if(f1!=f2)
return 1;
return 0;
float f2=float(r1.num)/r1.den;
if(s!=f2)
return 1;
return 0;
float f1=float(num)/den;
if(f1!=s)
return 1;
return 0;
}
int main()
int k,ch,ch2,ch3;
Rational R1,R2,R5,*R7,*R9;
cin>>R1;
cout<<R1;
cin>>R2;
cout<<R2;
cin>>k;
Rational R3(k);
cout<<R3;
cout<<"---Rational+Rational---"<<endl;
R5=R1+R2;
cout<<R5;
cout<<"---Rational+integer---"<<endl;
R5=R1+k;
cout<<R5;
cout<<"---Integer+Rational---"<<endl;
R5=k+R1;
cout<<R5;
cout<<"---Rational-Rational---"<<endl;
R5=R1-R2;
cout<<R5;
cout<<"---Rational-Integer---"<<endl;
R5=R1-k;
cout<<R5;
cout<<"---Integer-Rational---"<<endl;
R5=k-R1;
cout<<R5;
cout<<"---Rational*Rational---"<<endl;
R5=R1*R2;
cout<<R5;
cout<<"---Integer*Rational---"<<endl;
R5=k*R1;
cout<<R5;
cout<<"---Rational*Integer---"<<endl;
R5=R1*k;
cout<<R5;
cout<<"---Rational/Rational---"<<endl;
R5=R1/R2;
cout<<R5;
cout<<"---Integer/Rational---"<<endl;
R5=k/R1;
cout<<R5;
cout<<"---Rational/Integer---"<<endl;
R5=R1/k;
cout<<R5;
if(R1>R2)
else if(R1<R2)
if(R1>k)
else if(R1<k)
//else
//cout<<"Equal"<<endl;
else if(k<R1)
//else
//cout<<"Equal"<<endl;
cout<<"---Rational>=or<=Rational---"<<endl;
if(R1>=R2)
else if(R1<=R2)
cout<<"---Rational>=or<=Integer---"<<endl;
if(R1>=k)
else if(R1<=k)
cout<<"---Integer>=or<=Rational---"<<endl;
if(k>=R1)
else if(k<=R1)
cout<<"--Rational==or!=Rational--"<<endl;
if(R1==R2)
else if(R1!=R2)
cout<<"--Integer==or!=Rational--"<<endl;
if(k==R1)
else if(k!=R1)
if(R1==k)
else if(R1!=k)
R5=++R3;
R5=R3++;
R5=--R3;
R5=R3--;
Output: