Listing 2: line.h.
class Line { protected: Point start; Point end; public: Line(Point s, Point e):start(s),end(e) {}; Line(){}; Point getStart() { return start; } Point getEnd() { return end; } bool is_vertical() { return (start.x() == end.x()); } bool is_horizontal() { return (start.y() == end.y()); } float slope() { return (start.y()-end.y())/(end.x()-start.x()); } float yintercept(); bool parallel(Line* other); Point* intersection(Line* other){return NULL;} };