#include "line_2d.h" //Constructor with two default arguments Line_2D::Line_2D (const Point_2D &p1, const Point_2D &p2) { m_p1 = p1; m_p2 = p2; } Point_2D Line_2D::getStartPoint() const { return m_p1; } Point_2D Line_2D::getEndPoint() const { return m_p2; } ////OUTSIDE OF CLASS //Overload << operator std::ostream &operator<<(std::ostream &os, const Line_2D &l) { return os << "(" << l.getStartPoint() << ", " << l.getEndPoint() << ")"; } //Overload Point_2D + Point_2D operator Line_2D operator+(const Point_2D &p1, const Point_2D &p2) { return Line_2D(p1, p2); }