Описать класс треугольник, методы — площадь, периметр, вывод; реализовать перегрузку операторов - C#
Формулировка задачи:
Всем привет. Помогите разобраться. В задании описать класс треугольник, методы - площадь, периметр, вывод, перегрузку операторов +, * и =.
Начала с малого - написала класс, ну а теперь собственно не могу разобраться с перегрузкой, так же мне не понятно - я ведь ее применяю относительно экземпляров класса? Как ее реализовать если объект класса у меня треугольник и содержит поля в виде сторон, чтобы собственно эти поля суммировав получить тот же периметр и площадь?
Всем спасибо!
using System; namespace Triangle { internal class Triangle { public double Side1 { get; set; } public double Side2 { get; set; } public double Side3 { get; set; } public Triangle(double s1, double s2, double s3) { Side1 = s1; Side2 = s2; Side3 = s3; } // Вычисление периметра public double CalcPerimeter() { return Side1 + Side2 + Side3; } // Вычисление площади public double CalcArea() { // Вычисление по формуле Герона double result = 0.25*Math.Sqrt((Side1 + Side2 + Side3) *(Side1 + Side2 - Side3) *(Side1 + Side3 - Side2) *(Side2 + Side3 - Side1)); return result; } } } using System; namespace Triangle { class Program { static void Main(string[] args) { Triangle t1 = new Triangle(3,4,5); Console.WriteLine(t1.CalcPerimeter()); Console.WriteLine(t1.CalcArea()); } } }
Решение задачи: «Описать класс треугольник, методы — площадь, периметр, вывод; реализовать перегрузку операторов»
textual
Листинг программы
class triangle { public triangle(int s1, int s2, int s3) { this.side1 = s1; this.side2 = s2; this.side3 = s3; } public int side1 { get; set; } public int side2 { get; set; } public int side3 { get; set; } public static triangle operator *(triangle t1, triangle t2) { return new triangle(t1.side1 * t2.side1, t1.side2 * t2.side2, t1.side2 * t2.side2); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д