A Segment should connect two points (its endpoints). 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)
Then add code for a shift(int deltaX, int deltaY) function to Segment so that we can shift the segment by some amount in x (deltaX) and some amount in y (deltaY). Moving a segment should move both of its endpoints.
Below is a very simple implementation of a Friend class. In the TEST_CASE, add code to create a Friend f1 named Ronnie, a Friend named Dakota, and a friend named Mary. Make Ronnie Friends with Dakota, Dakota friends with Mary, and Mary friends with Ronnie. Note that friendship is only set in one direction in this program.
Add a bool bestieCheck() function to the Friend class. If a Friendโs m_bestFriend is a null pointer return false. If they have a m_bestFriend, check to see if their best friendโs m_bestFriend is the current object (this), if so return true, otherwise return false. In other words, your function returns true if the Friend and their best friend agree that they are best friends. Otherwise it returns false.