Question
C++ Geometry: The Rectangle2D class) Define the Rectangle2D class that contains: Two double data fields named x and y that specify the center of the
C++
Geometry: The Rectangle2D class) Define 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 11.9a.
A constant function contains(const Rectangle2D &r) that returns true if the specified rectangle is inside this rectangle. See Figure 11.9b.
A constant function overlaps(const Rectangle2D &r) that returns true if the specified rectangle overlaps with this rectangle. See Figure 11.9c.
Figure 11.9 (a) A point is inside the rectangle. (b) A rectangle is inside another rectangle. (c) A rectangle overlaps another rectangle. (d) Points are enclosed inside a rectangle.
Draw the UML diagram for the class. Implement the class. 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).
(a) (b) (c) (d)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