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