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

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

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

Есть задача: создать на сишарпе класс (в этой предметной области ну совсем ничего не понимаю), и с экземплярами выполнять сложение, вычитание, умножение, сравнение. "Создать" эти экземпляры удалось. Даже преобразовать в дабл. Но хотелось бы чтоб это можно было сделать средствами класса (да и задача, вроде, именно так стоит). Кто может чего подсказать?
/* 
 * Создать класс Fraction для работы с дробными числами.
 * Число должно быть представлено двумя полями: целая часть - длинное целое со знаком,
 * дробная часть - беззнаковое короткое число.
 * Реализовать арифметические операции сложения, вычитания, умножения и операции сравнения экземпляров класса.
*/

using System;
namespace MyFraction
{
    /* ОПИСАНИЕ КЛАССА */
    public class Fraction
    {
        private long left;
        private ushort right;
 
        public Fraction(long left = 0, ushort right = 0)
        {
            this.left = left;
            this.right = right;
        }
 
        public long LeftPart
        {
            get
            {
                return left;
            }
 
            set
            {
                left = value;
            }
        }
 
        public ushort RightPart
        {
            get
            {
                return right;
            }
 
            set
            {
                right = value;
            }
        }
 
        public double Result
        {
            
            get
            {
                if (LeftPart < 0)
                {
                    return LeftPart - (RightPart / Math.Pow(10, RightPart.ToString().Length));
                }
                else
                {
                    return LeftPart + (RightPart / Math.Pow(10, RightPart.ToString().Length));
                }
            }
        }
 
        static long addLeft (long leftOne, long leftTwo)
        {
            return leftOne + leftTwo;
        }

    }
    /* ИСПОЛЬЗОВАНИЕ КЛАССА */
    public class FractionDemo
    {
        public static void Main()
        {
            Fraction first = new Fraction(123, 5);
            Fraction second = new Fraction(-324, 432);
            double fst = first.Result;
            double scnd = second.Result;
            Console.WriteLine("{0} and {1}", fst, scnd);
            /*Console.WriteLine("Left: {0}, Right: {1}, Result: {2}", first.LeftPart, first.RightPart, first.Result);
            Console.WriteLine("Left: {0}, Right: {1}, Result: {2}", second.LeftPart, second.RightPart, second.Result);*/
            Console.ReadLine();
        }
    }
}
Заранее благодарю!

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

textual
Листинг программы
public static Fraction operator +(Fraction c1, Fraction c2)
            {
                return new Fraction(c1.left + c2.left, Convert.ToUInt16(c1.right + c2.right));
            }
 
            public static bool operator >(Fraction c1, Fraction c2)
            {
                return (c1.left > c2.left)&&(c1.right > c2.right);
            }
            public static bool operator <(Fraction c1, Fraction c2)
            {
                return (c1.left < c2.left) && (c1.right < c2.right);
            }

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


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

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

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