Open alexey-malov opened 7 years ago
void DoSomething(IShape & shape)
{
cout << shape.ToString() << endl;
}
int main(int argc, char* argv[])
{
{
CCircle c({ 0, 0 }, 42, "red", "green");
DoSomething(c);
}
double CTriangle::GetArea()const
{
auto P = GetPerimeter() / 2;
auto S = sqrt(P * (P - CLineSegment(m_vertex1, m_vertex2, m_outlineColor).GetPerimeter())
* (P - CLineSegment(m_vertex2, m_vertex3, m_outlineColor).GetPerimeter())
* (P - CLineSegment(m_vertex3, m_vertex1, m_outlineColor).GetPerimeter()));
return S;
}
double CTriangle::GetPerimeter()const
{
return (CLineSegment(m_vertex1, m_vertex2, "white").GetPerimeter()
+ CLineSegment(m_vertex2, m_vertex3, "white").GetPerimeter()
+ CLineSegment(m_vertex3, m_vertex1, "white").GetPerimeter());
}