Reywam / OOP

0 stars 0 forks source link

Замечания по shapes #5

Open alexey-malov opened 7 years ago

alexey-malov commented 7 years ago
    vector<IShape> shapes;
alexey-malov commented 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);
    }
alexey-malov commented 7 years ago
alexey-malov commented 7 years ago
alexey-malov commented 7 years ago
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());
}
alexey-malov commented 7 years ago
alexey-malov commented 7 years ago
alexey-malov commented 7 years ago