Question: The code below defines a class Point that represents a point on the coordinate plane. A Segment should connect two points (its end points). When

The code below defines a class Point that represents a point on the coordinate plane. A Segment should connect two points (its end points). When we make a segment, we will give the constructor the addresses of two points - we want the segment to use those points as its endpoints. The segment should link to those points, not make copies of them. (Aggregation) Finish the Segment class by making a constructor that accepts the addresses of two points and adding member variables. Code:

#include #include

using namespace std;

class Point { private: int x = 0; int y = 0; public: Point(int xVal, int yVal) { moveBy(xVal, yVal); } string toString() { return to_string(x) + ", " + to_string(y); } void moveBy(int xVal, int yVal) { x += xVal; y += yVal; } };

class Segment { public: string toString() { return p1->toString() + " to " + p2->toString(); }

//Do not modify anything on or above the line below this //YOUR_CODE_BELOW

//YOUR_CODE - constructor and member variables

//YOUR_CODE_ABOVE //Do not modify anything on or below the line above this

};

int main() { Point A(0, 0); Point B(4, 4);

Segment s1(&A, &B);

cout << s1.toString() << endl; B.moveBy(1, 1); cout << s1.toString() << endl; }

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!