Define a Rectangle class that provides getLength and getWidt

Define a Rectangle class that provides getLength and getWidth. Write a main that creates a vector of Rectangles and finds the largest Rectangle on the basis of area. For this part of the assignment, you need to submit a separate .cpp file as well as a screenshot in your HWK submission indicating successful testing of the code. No credit will be given for code that does not compile or segfaults. Hint: Essentially, you want to tweak the Square class code of Figure 1.23, which is provided on Blackboard.

Solution

main.cpp

#include <iostream>

#include \"findmax.h\"

#include <vector>

using std::vector;

using std::ostream;

using std::cout;

class Rectangle {

private:

    double length;

    double width;

public:

    explicit Rectangle( double l = 0.0, double w = 0.0 ): length{ l }, width{ w } { }

    double getLength( ) const{

      return length;

    }

    double getWidth( ) const{

      return width;

    }

    double getArea( ) const{

      return (length * width);

    }

    double getPerimeter( ) const{

      return (length + length + width + width);

    }

    void print( ostream & out = cout ) const{

      out << \"(Rect, len: \" << length << \", width: \" << width;

    }

    bool operator< (const Rectangle & rhs) const{

      if (getArea() != rhs.getArea()){

        return (getArea() < rhs.getArea());

      } else {

        return (getPerimeter() < rhs.getPerimeter());

      }

    }

};

ostream & operator<< (ostream & out, const Rectangle& rhs){

rhs.print(out);

return out;

}

int main(){

vector<Rectangle> v = {Rectangle{2.0,4.0}, Rectangle{3.0,3.0}, Rectangle{8.0,1.0}, Rectangle{4.0,2.25}};

cout << \"Largest Rect: \" << findMax(v) << std::endl;

return 0;

}

findMax.h

#ifndef FINDMAX_H

#define FINDMAX_H

#include <vector>

using std::vector;

template <typename Comparable>

const Comparable & findMax( const vector<Comparable> & a ){

int maxIndex = 0;

for (int i = 1; i < a.size(); ++i){

    if (a[maxIndex] < a[i]){

      maxIndex = i;

    }

}

return a[maxIndex];

}

#endif

Define a Rectangle class that provides getLength and getWidth. Write a main that creates a vector of Rectangles and finds the largest Rectangle on the basis of
Define a Rectangle class that provides getLength and getWidth. Write a main that creates a vector of Rectangles and finds the largest Rectangle on the basis of

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site