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