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

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

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

Создать класс треугольник, члены класса - длины 3-х сторон. Предусмотреть в классе методы проверки существования треугольника, вычисления и вывода сведений о фигуре - длины сторон, углы, периметр, площадь. Создать производный класс - равносторонний треугольник, перегрузить в классе проверку, является ли треугольник равносторонним и метод вывода сведений о фигуре. Написать программу, демонстрирующую работу с классом: дано К треугольников и L равносторонних треугольников, найти среднюю площадь для К треугольников и наибольший равносторонний треугольник. Проблема в том что на перегрузке операторов где я проверяю является ли треугольник равносторонним выскакивает ошибка что перегруженный бинарный оператор передает два параметра. Подскажите в чем проблема?
Листинг программы
  1. class treygolnik
  2. {
  3. protected double a;
  4. protected double b;
  5. protected double c;
  6. public treygolnik(double a = 1, double b = 1, double c = 1)
  7. {
  8. this.a = a;
  9. this.b = b;
  10. this.c = c;
  11. }
  12. public void seta1(double a)
  13. {
  14. this.a = a;
  15. }
  16. public void setb1(double b)
  17. {
  18. this.b = b;
  19. }
  20. public void setc1(double c)
  21. {
  22. this.c = c;
  23. }
  24. public double geta1()
  25. {
  26. return a;
  27. }
  28. public double getb1()
  29. {
  30. return b;
  31. }
  32. public double getc1()
  33. {
  34. return c;
  35. }
  36. public void exist()
  37. {
  38. if ((a < b + c) && (b < a + c) && (c < a + b))
  39. Console.WriteLine(" Треугольник существует");
  40. else
  41. Console.WriteLine("Треугольник не существует");
  42. }
  43.  
  44. public double Perimetr ()
  45. {
  46. return a+b+c;
  47. }
  48. public double Ploshad()
  49. {
  50. double p = (a + b + c) / 2;
  51. return Math.Sqrt(p * (p - a) * (p - b)*(p - c));
  52. }
  53.  
  54. public void vyvod()
  55. {
  56. Console.WriteLine("Сторона а= " + a + "Сторона b= " + b + "Сторона с= " + c + "Перемитр= " + Perimetr() + "Площадь= "+ Ploshad());
  57. Console.WriteLine();
  58. }
  59.  
  60. public void yglu()
  61. {
  62. double alpha = Math.Acos((b * b + c * c - a * a) / 2 * b * c);
  63. double beta = Math.Acos((a * a + c * c - b * b) / 2 * a * c);
  64. double gamma = Math.Acos((a * a + b * b - c * c) / 2 * a * b);
  65. Console.WriteLine("угол a=" + alpha + "угол b=" + beta + "угол c=" + gamma);
  66. Console.WriteLine();
  67. }
  68. }
  69. class ravnostoron : treygolnik
  70. {
  71. public ravnostoron(double a=1, double b=1, double c=1) : base(a, b, c) { }
  72.  
  73. public static bool operator ==(ravnostoron a , ravnostoron b, ravnostoron c)
  74. {
  75. return ((a == b) && (b == c));
  76. }
  77. public static bool operator !=(ravnostoron a, ravnostoron b, ravnostoron c)
  78. {
  79. return ((a != b) && (b != c));
  80. }
  81.  
  82. }

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

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

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


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

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

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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут