Advertisement
Sanlover

Untitled

Nov 8th, 2020
204
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.27 KB | None | 0 0
  1. /*
  2. Реализовать класс оболочку Number
  3. для числового типа float
  4. Реализовать методы сложения
  5. и деления
  6. Создать производный класс Real
  7. в котором реализовать метод возведения
  8. в произвольную степень
  9. и метод для вычисления логарифма числа*/
  10. #include <iostream>
  11. class Number
  12. {
  13. protected:
  14. float value_;
  15. public:
  16. Number(const float& value) :value_(value) {};
  17. Number operator+(const Number& other)
  18. {
  19. return Number(value_ + other.value_);
  20. }
  21. Number operator-(const Number& other)
  22. {
  23. return Number(value_ - other.value_);
  24. }
  25. Number operator/(const Number& other)
  26. {
  27. return Number(value_ / other.value_);
  28. }
  29. Number operator*(const Number& other)
  30. {
  31. return Number(value_ * other.value_);
  32. }
  33. };
  34.  
  35. class Real :public Number
  36. {
  37. public:
  38. Real();
  39. Real(float number) :Number(number)
  40. {}
  41. Real& operator=(const Real& rhs);
  42. friend std::ostream& operator<<(std::ostream& os, const Real& rhs);
  43.  
  44. float getLn()
  45. {
  46. return log(value_);
  47. };
  48. float degree(float power)
  49. {
  50. return pow(value_, power);
  51. };
  52. };
  53. int main()
  54. {
  55. Real a(4);
  56. std::cout << a.degree(5);
  57. return 0;
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement