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