Question
in C++ design a 2D rectangle class calledRect. Class Rect will need 4 floats to represent a rectangle and you will represent it by storing
in C++
design a 2D rectangle class calledRect. Class Rect will need 4 floats to represent a rectangle and you will represent it by storing the upper-left corner position and then the width andthe height of the rectangle. Your Rect class will at least have a constructor receiving the four floats defining the rectangle and a method called contains for classifying if a given Vec is inside or outside of the rectangle. The coordinate system is the usual 2D XY Euclidean plane. Your Rect class should allow the rectangles.cpp file to run without generating any error messages. You may use the file Vec.h from the previous exercise.
Vec.h
-------------------
#include
using namespace std;
class Vec {
public:
float x,y;
const static Vec null;
Vec() {
x=0;
y=0;
}
Vec(float a, float b) {
x = a;
y = b;
}
void add(Vec n) {
x = x + n.x;
y = y + n.y;
}
void print() {
cout << "(" << x << ", " << y << ")" << endl;
}
};
const Vec Vec::null(0.0f,0.0f);
-----------
rectangles.cpp
#include
#include "Rect.h"
int main(int argc, const char * argv[])
{
Rect a(-5.0f,-5.0f,2.0f,2.0f), b(5.0f,8.0f,2.0f,2.0f);
if ( a.contains(Vec::null) ) std::cout<<"error1 ";
if ( b.contains(Vec::null) ) std::cout<<"error1 ";
if ( !a.contains(Vec(-4.0f,-6.0f)) ) std::cout<<"error ";
if ( b.contains(Vec(6.0f,9.0f)) ) std::cout<<"error ";
std::cout << "Done ";
return 0;
}
-----------------
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