C++ need help plz! Design a 2D rectangle class called Rect. Class Rect will need
ID: 3800391 • Letter: C
Question
C++ need help plz! Design a 2D rectangle class called Rect. 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 and the 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 assume the file Vec.h exists in the working directory. Test with below code, please do not modify! #include <iostream> #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; }
Explanation / Answer
class Rect{
private:
float x,y,width,height;
public:
//constructor
Rect(float x,float y,float width,float height){
this.x=x;
this.y=y;
this.width=width;
this.height=height;
}
//this function will return tre if a vertex is inside else false
// as the initial point is left upper point
bool Vec(float x,float y){
if(x>=this.x && x<=this.x+this.width && x<=this.y && x>=this.y- this.height)
return true;
else
return false;
}
}
Related Questions
Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.