Сложить два объекта класса - C#

Узнай цену своей работы

Формулировка задачи:

Есть задача: создать на сишарпе класс (в этой предметной области ну совсем ничего не понимаю), и с экземплярами выполнять сложение, вычитание, умножение, сравнение. "Создать" эти экземпляры удалось. Даже преобразовать в дабл. Но хотелось бы чтоб это можно было сделать средствами класса (да и задача, вроде, именно так стоит). Кто может чего подсказать?
Листинг программы
  1. /*
  2. * Создать класс Fraction для работы с дробными числами.
  3. * Число должно быть представлено двумя полями: целая часть - длинное целое со знаком,
  4. * дробная часть - беззнаковое короткое число.
  5. * Реализовать арифметические операции сложения, вычитания, умножения и операции сравнения экземпляров класса.
  6. */
  7.  
  8. using System;
  9. namespace MyFraction
  10. {
  11. /* ОПИСАНИЕ КЛАССА */
  12. public class Fraction
  13. {
  14. private long left;
  15. private ushort right;
  16. public Fraction(long left = 0, ushort right = 0)
  17. {
  18. this.left = left;
  19. this.right = right;
  20. }
  21. public long LeftPart
  22. {
  23. get
  24. {
  25. return left;
  26. }
  27. set
  28. {
  29. left = value;
  30. }
  31. }
  32. public ushort RightPart
  33. {
  34. get
  35. {
  36. return right;
  37. }
  38. set
  39. {
  40. right = value;
  41. }
  42. }
  43. public double Result
  44. {
  45. get
  46. {
  47. if (LeftPart < 0)
  48. {
  49. return LeftPart - (RightPart / Math.Pow(10, RightPart.ToString().Length));
  50. }
  51. else
  52. {
  53. return LeftPart + (RightPart / Math.Pow(10, RightPart.ToString().Length));
  54. }
  55. }
  56. }
  57. static long addLeft (long leftOne, long leftTwo)
  58. {
  59. return leftOne + leftTwo;
  60. }
  61.  
  62. }
  63. /* ИСПОЛЬЗОВАНИЕ КЛАССА */
  64. public class FractionDemo
  65. {
  66. public static void Main()
  67. {
  68. Fraction first = new Fraction(123, 5);
  69. Fraction second = new Fraction(-324, 432);
  70. double fst = first.Result;
  71. double scnd = second.Result;
  72. Console.WriteLine("{0} and {1}", fst, scnd);
  73. /*Console.WriteLine("Left: {0}, Right: {1}, Result: {2}", first.LeftPart, first.RightPart, first.Result);
  74. Console.WriteLine("Left: {0}, Right: {1}, Result: {2}", second.LeftPart, second.RightPart, second.Result);*/
  75. Console.ReadLine();
  76. }
  77. }
  78. }
Заранее благодарю!

Решение задачи: «Сложить два объекта класса»

textual
Листинг программы
  1. public static Fraction operator +(Fraction c1, Fraction c2)
  2.             {
  3.                 return new Fraction(c1.left + c2.left, Convert.ToUInt16(c1.right + c2.right));
  4.             }
  5.  
  6.             public static bool operator >(Fraction c1, Fraction c2)
  7.             {
  8.                 return (c1.left > c2.left)&&(c1.right > c2.right);
  9.             }
  10.             public static bool operator <(Fraction c1, Fraction c2)
  11.             {
  12.                 return (c1.left < c2.left) && (c1.right < c2.right);
  13.             }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.25 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут