Перегрузка операторов в классе треугольник. Ошибка "бинарный оператор принимает два параметра" - C#

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

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

Создать класс треугольник, члены класса - длины 3-х сторон. Предусмотреть в классе методы проверки существования треугольника, вычисления и вывода сведений о фигуре - длины сторон, углы, периметр, площадь. Создать производный класс - равносторонний треугольник, перегрузить в классе проверку, является ли треугольник равносторонним и метод вывода сведений о фигуре. Написать программу, демонстрирующую работу с классом: дано К треугольников и L равносторонних треугольников, найти среднюю площадь для К треугольников и наибольший равносторонний треугольник. Проблема в том что на перегрузке операторов где я проверяю является ли треугольник равносторонним выскакивает ошибка что перегруженный бинарный оператор передает два параметра. Подскажите в чем проблема?
  class treygolnik
    {
        protected double a;
        protected double b;
        protected double c;
 
        public treygolnik(double a = 1, double b = 1, double c = 1)
        {
            this.a = a;
            this.b = b;
            this.c = c;
 
        }
 
        public void seta1(double a)
        {
            this.a = a;
        }
 
          public void setb1(double b)
        {
            this.b = b; 
        }       
 
        public void setc1(double c)
        {
            this.c = c;
        }
 
        public double geta1()
        {
            return a;
        }
 
        public double getb1()
        {
            return b;
 
        }
 
        public double getc1()
        {
            return c;
        }
 
        public void exist()
        {
            if ((a < b + c) && (b < a + c) && (c < a + b))
                Console.WriteLine(" Треугольник существует");
            else
                Console.WriteLine("Треугольник не существует");
        }

        public double Perimetr ()
        {
           
            return a+b+c;
        }
 
         public double Ploshad()
        {
            double p = (a + b + c) / 2;
            return Math.Sqrt(p * (p - a) * (p - b)*(p - c));
        }

        public void vyvod()
        {
            Console.WriteLine("Сторона а= " + a + "Сторона b= " + b + "Сторона с= " + c + "Перемитр= " + Perimetr() + "Площадь= "+ Ploshad());
            Console.WriteLine();
        }

        public void yglu()
        {
          double  alpha = Math.Acos((b * b + c * c - a * a) / 2 * b * c);
          double beta = Math.Acos((a * a + c * c - b * b) / 2 * a * c);
          double gamma = Math.Acos((a * a + b * b - c * c) / 2 * a * b);
 
          Console.WriteLine("угол a=" + alpha + "угол b=" + beta + "угол c=" + gamma);
            Console.WriteLine();
        }
}
 
       class ravnostoron : treygolnik
    {
        public ravnostoron(double a=1, double b=1, double c=1) : base(a, b, c) { }

        public static bool operator ==(ravnostoron a , ravnostoron b, ravnostoron c)
        {
 
            return ((a == b) && (b == c));
        }
 
        public static bool operator !=(ravnostoron a, ravnostoron b, ravnostoron c)
        {
 
            return ((a != b) && (b != c));
        }

    }

Решение задачи: «Перегрузка операторов в классе треугольник. Ошибка "бинарный оператор принимает два параметра"»

textual
Листинг программы
Split();

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


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

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

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