В задании требуют перегрузить = у класса дробь? Как? - 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()); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д