Question
C++ Geometry: The Rectangle2D class Define and implement the Rectangle2D class that contains: Two double data fields named x and y that specify the center
C++ Geometry: The Rectangle2D class
Define and implement the Rectangle2D class that contains:
Two double data fields named x and y that specify the center of the rectangle with constant get functions and set functions. (Assume that the rectangle sides are parallel to x- or y-axes.)
The double data fields width and height with constant get functions and set functions.
A no-arg constructor that creates a default rectangle with (0, 0) for (x, y) and 1 for both width and height.
A constructor that creates a rectangle with the specified x, y, width, and height.
A constant function getArea() that returns the area of the rectangle.
A constant function getPerimeter() that returns the perimeter of the rectangle.
A constant function contains(double x, double y) that returns true if the specified point (x, y) is inside this rectangle. See Figure (a).
A constant function contains(const Rectangle2D &r) that returns true if the specified rectangle is inside this rectangle. See Figure (b).
A constant function overlaps(const Rectangle2D &r) that returns true if the specified rectangle overlaps with this rectangle. See Figure (c).
Implement the destructor and copy constructor to perform a copy in the class. In the destructor cout a message that shows the destructor is called.
Write a test program that creates three Rectangle2D objects r1(2, 2, 5.5, 4.9), r2(4, 5, 10.5, 3.2)), and r3(3, 5, 2.3, 5.4), and displays r1s area and perimeter, and displays the result of r1.contains(3, 3), r1.contains(r2), and r1. overlaps(r3).
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started