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