Advertisement
Kentoo

K#1

May 29th, 2018
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.29 KB | None | 0 0
  1. #include "stdafx.h"
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. class Pair {
  7. public:
  8.     Pair(int x, int y) {
  9.         a = x;
  10.         b = y;
  11.     }
  12.     virtual void multiplication(int x) {
  13.         a *= x;
  14.         b *= x;
  15.     }
  16.     int get_a() {
  17.         return a;
  18.     }
  19.     int get_b() {
  20.         return b;
  21.     }
  22.     Pair operator +(Pair addend) {
  23.         return Pair(a + addend.get_a(), b + addend.get_b());
  24.     }
  25. protected:
  26.     int a, b;
  27. };
  28.  
  29. class Money : public Pair
  30. {
  31. public:
  32.     Money(int x, int y) : Pair(x, y) {}
  33.     Money operator +(Money addend) {
  34.         return Money(a + addend.get_a() + (b + addend.get_b()) / 100, (b + addend.get_b()) % 100);
  35.     }
  36.     void subtraction(Money x) {
  37.         a = a - x.get_a() - ((b - x.get_b() < 0) ? (1) : (0));
  38.         b = (b - x.get_b() > 0) ? (b - x.get_b()) : (100 - x.get_b() + b);
  39.     }
  40.     float division(Money x) {
  41.         float temp = a * 100 + b;
  42.         temp /= x.get_a() * 100 + x.get_b();
  43.         return temp;
  44.     }
  45. };
  46.  
  47. void main() {
  48.     Pair x(3, 4);
  49.     Pair y(4, 5);
  50.     Pair z = x + y;
  51.     cout << z.get_a() << " " << z.get_b() << endl;
  52.     z.multiplication(3);
  53.     cout << z.get_a() << " " << z.get_b() << endl;
  54.     Money m1(15, 75);
  55.     Money m2(8, 98);
  56.     m1.subtraction(m2);
  57.     cout << m1.get_a() << " " << m1.get_b() << endl;
  58.     Money m3(2, 44);
  59.     m1 = m1 + m3;
  60.     cout << m1.get_a() << " " << m1.get_b() << endl;
  61.     cout << m1.division(m3) << endl;
  62.     system("pause");
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement