operation overload 1
#include <iostream>
using namespace std;
class fraction{
private:
int numerator;
int denominator;
public:
fraction(int numerator,int denominator){
this->numerator=numerator;//
this->denominator=denominator;
}
void print(){
cout<<this->numerator<<"/"<<this->denominator<<endl;
}
void simplify(){
int gcd=1;
for(int i=1;i<min(this->numerator,this->denominator);i++){
if(this->numerator%i==0 && this->denominator%i==0){
gcd=i;
}
}
this->numerator=this->numerator/gcd;
this->denominator=this->denominator/gcd;
cout<<this->numerator<<"/"<<this->denominator<<endl;
}
fraction operator+(fraction f2){
int lcm=f2.denominator*this->denominator;
int x=lcm/this->denominator;
int y=lcm/f2.denominator;
int num=(this->numerator*x)+(y*f2.numerator);
fraction f3(num,lcm);
return f3;
//this->denominator=lcm;
}
bool operator==(fraction f2){
return(numerator==f2.numerator && denominator==f2.denominator);
}
//cout<<this->numerator<<"/"<<this->denominator<<endl;
fraction operator*(fraction f2){
int num=numerator*f2.numerator;
int den=denominator*f2.denominator;
fraction f3(num,den);
return f3;
}
};
int main() {
fraction f1(10,2);
fraction f2(15,4);
// fraction f3=f1.add(f2);
fraction f3=f1+f2;
f3.print();
fraction f4=f1*f2;
f4.print();
if (f1==f2){
cout<<"equal";
}
else
cout<<"not equal";
return 0;
}
Comments
Post a Comment