Question: This is just like Segment Composition, but this time, there is no default Point constructor. You will have to use the initialization list trick to

This is just like Segment Composition, but this time, there is no default Point constructor. You will have to use the initialization list trick to make sure that the compiler knows how to set up p1 and p2. 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. Finish the Segment class by:

  • Adding the member variables p1 and p2 needed to hold two Points (OK to do in the public section).
  • Making a constructor that accepts two points (you will have to use an initialization list!)

We are defining all the code inside the class declaration. Thus you don't need Segment:: in front of your constructor definition. This only works for simple one file projects like this one. Do not do this in assignments.

#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!