fork download
  1. #include <string>
  2. #include <exception>
  3. #include <stdexcept>
  4. #include <iostream>
  5.  
  6. using namespace std;
  7.  
  8. class Calculator
  9. {
  10. private:
  11. int product;
  12.  
  13.  
  14. public:
  15. Calculator (int);
  16. Calculator ();
  17. int who_knows;
  18. string running_string;
  19. int running;
  20.  
  21. string get_running_string ()
  22. {
  23. return running_string;
  24. }
  25. int get_value ()
  26. {
  27. return running;
  28. }
  29. void add(int first_num, int second_num)
  30. {
  31. running = first_num + second_num;
  32. running_string += (to_string(first_num));
  33. running_string += " + ";
  34. running_string += (to_string(second_num));
  35. running_string += " = ";
  36. running_string += to_string(running);
  37.  
  38. std::cout << running_string << std::endl;
  39.  
  40. }
  41. void add(int first_num)
  42. {
  43. running_string = (to_string(running));
  44. running = running + first_num;
  45. running_string += " + ";
  46. running_string += (to_string(first_num));
  47. running_string += " = ";
  48. running_string += to_string(running);
  49.  
  50. std::cout << running_string << std::endl;
  51.  
  52. }
  53. void sub(int first_num, int second_num)
  54. {
  55. running = first_num - second_num;
  56. running_string = (to_string(first_num));
  57. running_string += " - ";
  58. running_string += (to_string(second_num));
  59. running_string += " = ";
  60. running_string += to_string(running);
  61.  
  62. std::cout << running_string << std::endl;
  63. }
  64. void sub(int first_num)
  65. {
  66. running_string = (to_string(running));
  67. running = running - first_num;
  68. running_string += " - ";
  69. running_string += (to_string(first_num));
  70. running_string += " = ";
  71. running_string += to_string(running);
  72.  
  73. std::cout << running_string << std::endl;
  74.  
  75. }
  76. void mult(int first_num, int second_num)
  77. {
  78. running = first_num * second_num;
  79. running_string = (to_string(first_num));
  80. running_string += " * ";
  81. running_string += (to_string(second_num));
  82. running_string += " = ";
  83. running_string += to_string(running);
  84.  
  85. std::cout << running_string << std::endl;
  86. }
  87. void set_product(int value)
  88. {
  89. product = value;
  90. }
  91. int get_sum()
  92. {
  93. return running;
  94. }
  95.  
  96.  
  97. };
  98. Calculator::Calculator()
  99. {
  100. who_knows = 0;
  101. }
  102. Calculator::Calculator (int arg)
  103. {
  104. who_knows = arg;
  105. }
  106.  
  107. Calculator operator* (Calculator one_side, Calculator two_side)
  108. {
  109. int product;
  110. string running_string;
  111. Calculator dummy;
  112. product = one_side.get_sum() * two_side.get_sum();
  113. running_string = (to_string(one_side.get_sum()));
  114. running_string += " * ";
  115. running_string += (to_string(two_side.get_sum()));
  116. running_string += " = ";
  117. running_string += to_string(product);
  118.  
  119. std::cout << running_string << std::endl;
  120. return dummy;
  121. }
  122. Calculator operator+ (Calculator one_side, Calculator two_side)
  123. {
  124. int product;
  125. string running_string;
  126. Calculator dummy;
  127. product = one_side.get_sum() + two_side.get_sum();
  128. running_string = (to_string(one_side.get_sum()));
  129. running_string += " + ";
  130. running_string += (to_string(two_side.get_sum()));
  131. running_string += " = ";
  132. running_string += to_string(product);
  133.  
  134. std::cout << running_string << std::endl;
  135. return dummy;
  136. }
  137. Calculator operator- (Calculator one_side, Calculator two_side)
  138. {
  139. int product;
  140. string running_string;
  141. Calculator dummy;
  142. product = one_side.get_sum() - two_side.get_sum();
  143. running_string = (to_string(one_side.get_sum()));
  144. running_string += " - ";
  145. running_string += (to_string(two_side.get_sum()));
  146. running_string += " = ";
  147. running_string += to_string(product);
  148.  
  149. std::cout << running_string << std::endl;
  150. return dummy;
  151. }
  152. std::ostream &operator<<(std::ostream &os, Calculator const &m) {
  153. return os << "Calculator 1's last Result: " << m.running;
  154. }
  155. int main()
  156. {
  157. Calculator calc1(1), calc2(2);
  158. //Calculator calc1, calc2;
  159. calc1.add(5, -1);
  160. calc1.add(3);
  161. calc1.sub(8, 4);
  162. calc1.sub(1);
  163. calc2.mult(5, 8);
  164. calc1 * calc2;
  165. calc1 + calc2;
  166. calc2 - calc1;
  167.  
  168.  
  169. cout << calc1 << std::endl;
  170.  
  171. return 0;
  172. }
Success #stdin #stdout 0.01s 5652KB
stdin
Standard input is empty
stdout
5 + -1 = 4
4 + 3 = 7
8 - 4 = 4
4 - 1 = 3
5 * 8 = 40
3 * 40 = 120
3 + 40 = 43
40 - 3 = 37
Calculator 1's last Result: 3