В задании требуют перегрузить = у класса дробь? Как? - C#

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

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

В задании сказано перегрузить оператор "=" и "+=" у класса дробь. Они же не перегружаемые (я так считала до сего задания). Как их перегрузить? С "+=" я хоть могу сказать, что он перегружается автоматически с перегрузкой "++". А что делать с "=" ума не приложу. Помогите, пожалуйста, лабу не принимают.

Решение задачи: «В задании требуют перегрузить = у класса дробь? Как?»

textual
Листинг программы
using System;
 
namespace ConsoleApplication8
{
    class Program
    {
        class Fract
        {
            public double Numerator     { get; set; }
            public double Denominator   { get; set; }
 
            public Fract(double numerator, double denominator)
            {
                this.Numerator = numerator;
                this.Denominator = denominator;
            }
 
            public static implicit operator double(Fract f)
            {
                return f.Numerator / f.Denominator;
            }
 
            public static implicit operator Fract(double d)
            {
                return new Fract(d, 1);
            }
 
            public static Fract operator +(Fract arg1, Fract arg2)
            {
                return new Fract(arg1.Numerator * arg2.Denominator + arg2.Numerator * arg1.Denominator, arg1.Denominator * arg2.Denominator);
            }
 
            public override string ToString()
            {
                return $"{this.Numerator}/{this.Denominator}";
            }
        }
 
        static void Main(string[] args)
        {
            var f1 = new Fract(1, 2);
            var f2 = new Fract(1, 2);
 
            f1 += f2;
            Console.WriteLine(f1.ToString());
 
            f2 = 5;
            Console.WriteLine(f2.ToString());
        }
    }
}

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


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

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

8   голосов , оценка 3.875 из 5
Похожие ответы