Перегрузка инкремента\декремента. Комплексные числа - C#

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

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

Есть класс комплексных чисел, для него перегружаем инкремент или декремент. Если остальные перегрузки работают так как надо, то эти двое выполняются не корректно, помогите найти и исправить ошибку
public class complex
    {
        private double re, im;
        public complex(double r, double i)
        {
            re = r;
            im = i;
        }
 
        public static complex operator ++(complex a)
        {
            a.re++;
            return a;
            //new complex(a.re++, a.im);
        }
    }
    public void input()
        {
            Console.Write("Вещественная часть: ");
        R1:
            try
            {
                re = Convert.ToDouble(Console.ReadLine());
            }
            catch
            {
                Console.WriteLine("Ошибка ввода. Ожидается число");
                goto R1;
            }
 
            Console.Write("Мнимая часть: ");
        I1:
            try
            {
                im = Convert.ToDouble(Console.ReadLine());
            }
            catch
            {
                Console.WriteLine("Ошибка ввода. Ожидается число");
                goto I1;
            }
            Console.WriteLine();
        }
 
  static void print(complex a)
        {Console.WriteLine("{0}+{1}*i", a.re, a.im);}

        static void Main(string[] args)
        {complex comp1 = new complex();
         complex comp2 = new complex();
 
            comp1.input();
            comp2.input();
 
Console.WriteLine("Перегрузка ++:");
            complex.print(comp1++);
            complex.print(comp1);
}
При "complex.print(comp1++);" должно выводить на печать комплексное число "старое", а в следующем выводе "complex.print(comp1);" с прибавленной единицей к вещественной части.

Решение задачи: «Перегрузка инкремента\декремента. Комплексные числа»

textual
Листинг программы
        public static complex operator ++(complex a)
        {
            complex ob = new complex();
 
            ob.re = a.re + 1;
            ob.im = a.im + 1;
 
            return ob;
        }

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


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

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

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