Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- class Fraction
- {
- int numerator;
- int denominator;
- public:
- Fraction(int numeratorP, int denominatorP) : numerator{ numeratorP }, denominator{ denominatorP }
- {
- std::cout << "Fraction constructed for -> " << this << '\n';
- }
- Fraction() :Fraction(1, 1) {}
- int getNumerator() { return numerator; }
- int getDenominator() { return denominator; }
- void setNumerator(int num) { numerator = num; }
- void setDenominator(int denom) { denominator = denom; }
- Fraction mul(Fraction& frac)
- {
- return Fraction{ numerator * frac.numerator, denominator * frac.denominator };
- }
- Fraction div(Fraction& frac)
- {
- return Fraction{ numerator * frac.denominator, denominator * frac.numerator};
- }
- // BAAAD!!!! DO NOT DO IT AT HOME!! DANGER :)
- //void print(int num, int denom)
- //{
- // std::cout << '(' << num << '/' << denom << ')';
- //}
- //void print()
- //{
- // std::cout << '(' << getNumerator() << '/' << getDenominator() << ')';
- //}
- Fraction& print()
- {
- std::cout << '(' << numerator << '/' << denominator << ')';
- return *this;
- }
- ~Fraction()
- {
- std::cout << "Fraction destructed for -> " << this << '\n';
- }
- };
- // BAAAD!!!! DO NOT DO IT AT HOME!! DANGER :)
- //void print(int num, int denom)
- //{
- // std::cout << '(' << num << '/' << denom << ')';
- //}
- //
- //void print(Fraction* frac)
- //{
- // std::cout << '(' << frac->getNumerator() << '/' << frac->getDenominator() << ')';
- //}
- int main()
- {
- Fraction f1{ 1,2 };
- Fraction f2{ 1,3 };
- Fraction f3{ f1.mul(f2) };
- f1.print();
- f2.print();
- f3.print();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement