
Define a class for rectangle objects defined by two points, the topleft and bottomright corners of the rectangle. Include a constructor to copy a rectangle, a method to return a rectangle object, that encloses the current object and the rectangle passed as an argument, and a method to display the defining points of a rectangle. Test the class by creating four rectangles, and combining these cumulatively, to end up with a rectangle enclosing them all. Output the defining points of all the rectangles you create.
Define a class, mcmLength, to represent a length measured in meters, centimeters, and millimeters, each stored as integers. Include methods to add and subtract objects, to multiply and divide an object by an integer value, to calculate an area resulting from the product of two objects, and to compare objects. Include constructors that accept: three arguments – meters, centimeters, and millimeters; one integer argument in millimeters; one double argument in centimeters and no arguments, which creates an object with the length set to zero. Check the class by creating some objects and testing the class operations.
Define a class, tkgWeight, to represent a weight in tons, kilograms, and grams, and include a similar range of methods and constructors as the previous example. Demonstrate this class by creating and combining some class objects.
Put both the previous classes in a package called Measures. Import this package into a program that will calculate and display the total weight of the following: 200 carpets – size: 4 meters by 2 meters 9 centimeters, that weigh 1.25 kilograms per square meter; and 60 carpets – size: 3 meters 57 centimeters by 5 meters, that weigh 1.05 kilograms per square meter.