Описать класс треугольник, методы — площадь, периметр, вывод; реализовать перегрузку операторов - 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);
}
}