Advertisement
avr39ripe

PV913FractionPart1

May 20th, 2020
163
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.21 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. class Fraction
  4. {
  5.     int numerator;
  6.     int denominator;
  7. public:
  8.     Fraction(int num, int denom) : numerator{ num }, denominator{ denom ? denom : 1 } { std::cout << "Fraction constructed for " << this << '\n'; };
  9.     Fraction() : Fraction(1, 1) {};
  10.     ~Fraction() { std::cout << "Fraction destructed for " << this << '\n'; };
  11.     void setNumerator(int num) { numerator = num; };
  12.     int getNumerator() { return numerator; };
  13.     void setDenominator(int denom) { denominator = denom ? denom : 1; };
  14.     int getDenominator() { return denominator; };
  15.     void print();
  16.     void mul(const Fraction& fract) { numerator *= fract.numerator; denominator *= fract.denominator; };
  17.     void mul(int num) { numerator *= num; };
  18.     void div(const Fraction& fract) { numerator *= fract.denominator; denominator *= fract.numerator; };
  19.     void div(int num) { denominator *= num; };
  20. };
  21.  
  22. void Fraction::print()
  23. {
  24.     std::cout << '(' << numerator << " / " << denominator << ")";
  25. };
  26.  
  27. int main()
  28. {
  29.     Fraction a{ 1,3 };
  30.     Fraction b{ 2,5 };
  31.     Fraction c;
  32.  
  33.     a.print(); std::cout << '\n';
  34.     b.print(); std::cout << '\n';
  35.     c.print(); std::cout << '\n';
  36.  
  37.     a.mul(b);
  38.     a.print(); std::cout << '\n';
  39.  
  40.     b.div(4);
  41.     b.print(); std::cout << '\n';
  42.  
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement