197k views
5 votes
ppose we have a Rectangle class that includes length and width attributes, of type int, both set by the constructor. Define an equals method for this class so that two rectangle objects are considered equal ifThey have the exact same length and width.They have the same dimensions—that is, they are congruent.They have the same shape—that is, they are similar.They have the same perimeter.They have the same area.

1 Answer

2 votes

Answer:

Check the explanation

Step-by-step explanation:

#include <bits/stdc++.h>

using namespace std;

class Rectangle{

public:

int length;

int breadth;

Rectangle(int l,int b){

length = l;

breadth = b;

}

int area(){

return length*breadth;

}

int perimeter(){

return 2*(length+breadth);

}

bool equals(Rectangle* r){

// They have the exact same length and width.

if (r->length == length && r->breadth == breadth)

return true;

// They have the same area

if (r->area() == area())

return true;

// They have the same perimeter

if (r->perimeter() == perimeter())

return true;

// They have the same shape-that is, they are similar.

if (r->length/length == r->breadth/breadth)

return true;

return false;

}

};

int main(){

Rectangle *r_1 = new Rectangle(6,3);

Rectangle *r_2 = new Rectangle(3,6);

cout << r_1->equals(r_2) << endl;

return 0;

}

User Samer Boshra
by
4.5k points