Question

In: Computer Science

For some reason I am having a hard time getting this program to compile properly. Could...

For some reason I am having a hard time getting this program to compile properly. Could you help me debug it? Write the prototypes and functions to overload the given operators in the code

//main.cpp

//This program shows how to use the class rectangleType.
#include <iostream>
#include "rectangleType.h"
using namespace std;
int main() {
    rectangleType rectangle1(23, 45);                     //Line 1
    rectangleType rectangle2(12, 10);                     //Line 2
    rectangleType rectangle3;                             //Line 3
    rectangleType rectangle4;                             //Line 4

    cout << "Line 5: rectangle1: ";                       //Line 5
    rectangle1.print();                                   //Line 6
    cout << endl;                                         //Line 7

    cout << "Line 8: rectangle2: ";                       //Line 8
    rectangle2.print();                                   //Line 9
    cout << endl;                                         //Line 10

    rectangle3 = rectangle1 + rectangle2;                 //Line 11
    cout << "Line 12: rectangle3: ";                      //Line 12
    rectangle3.print();                                   //Line 13
    cout << endl;                                         //Line 14

    rectangle4 = rectangle1 * rectangle2;                 //Line 15
    cout << "Line 16: rectangle4: ";                      //Line 16
    //print rectangl through << stream extraction operator; //Line 17
     cout << rectangle4;
     cout << endl;                                         //Line 18

    if (rectangle1 == rectangle2)                         //Line 19
        cout << "Line 20: rectangle1 and "
             << "rectangle2 are equal." << endl;          //Line 20
    else                                                  //Line 21
        cout << "Line 22: rectangle1 and "
             << "rectangle2 are not equal."
             << endl;                                      //Line 22
    return 0;
}

//rectangleType.h

#include <iostream>
using namespace std;

class rectangleType {

//Overload the stream insertion and extraction operators

public:
    void setDimension(double l, double w);
    double getLength() const;
    double getWidth() const;
    double area() const;
    double perimeter() const;
    void print() const;
//Overload the operator +

//Overload the operator *

//Overload the operator ==

//Overload the operator !=
    rectangleType();
    rectangleType(double l, double w);
private:
    double length;
    double width;
};

//rectangeType.cpp

#include "rectangleType.h"

void rectangleType::setDimension(double l, double w)
{
    if (l >= 0)
        length = l;
    else
        length = 0;
    if (w >= 0)
        width = w;
    else
        width = 0;
}
double rectangleType::getLength() const
{
    return length;
}
double rectangleType::getWidth()const
{
    return width;
}
double rectangleType::area() const
{
    return length * width;
}
double rectangleType::perimeter() const
{
    return 2 * (length + width);
}
void rectangleType::print() const
{
    cout << "Length = " << length
         << "; Width = " << width;
}
rectangleType::rectangleType(double l, double w)
{
    setDimension(l, w);
}

rectangleType::rectangleType()
{
    length = 0;
    width = 0;
}


rectangleType rectangleType::operator+ (const rectangleType& rectangle) const
{
    //to-do:Task 1
}

rectangleType rectangleType::operator* (const rectangleType& rectangle) const
{
    //to do: Task 2
}

bool rectangleType::operator== (const rectangleType& rectangle) const
{
    //to-do: Task 3
}

bool rectangleType::operator!= (const rectangleType& rectangle) const
{
   //to-do: Task 4
}

ostream& operator<< (ostream& osObject, const rectangleType& rectangle)
{
    //to-do: Task 5
}

Solutions

Expert Solution

Program Code [C++]

rectangleType.h

#include <iostream>
using namespace std;

class rectangleType {

//Overload the stream insertion and extraction operators

friend ostream& operator<<(ostream& osObject, const rectangleType& rectangle);

public:
void setDimension(double l, double w);
double getLength() const;
double getWidth() const;
double area() const;
double perimeter() const;
void print() const;

   // Writing prototypes for overloading given operators in statement
  
   //Overload the operator +

   rectangleType operator+(const rectangleType& rectangle) const;
  
   //Overload the operator *

   rectangleType operator*(const rectangleType& rectangle) const;

   //Overload the operator ==

   bool operator==(const rectangleType& rectangle) const;

   //Overload the operator !=

   bool operator!=(const rectangleType& rectangle) const;

rectangleType();
rectangleType(double l, double w);

private:
double length;
double width;
};

rectangleType.cpp

#include "rectangleType.h"

void rectangleType::setDimension(double l, double w)
{
if (l >= 0)
length = l;
else
length = 0;
if (w >= 0)
width = w;
else
width = 0;
}
double rectangleType::getLength() const
{
return length;
}
double rectangleType::getWidth()const
{
return width;
}
double rectangleType::area() const
{
return length * width;
}
double rectangleType::perimeter() const
{
return 2 * (length + width);
}
void rectangleType::print() const
{
cout << "Length = " << length
<< "; Width = " << width;
}
rectangleType::rectangleType(double l, double w)
{
setDimension(l, w);
}

rectangleType::rectangleType()
{
length = 0;
width = 0;
}


rectangleType rectangleType::operator+ (const rectangleType& rectangle) const
{
   rectangleType rec;
   rec.length = this->length + rectangle.length;
   rec.width = this->width + rectangle.width;
  
   return rec;
}

rectangleType rectangleType::operator* (const rectangleType& rectangle) const
{
   rectangleType rec;
   rec.length = this->length * rectangle.length;
   rec.width = this->width * rectangle.width;

   return rec;
}

bool rectangleType::operator== (const rectangleType& rectangle) const
{
   return ((this->length == rectangle.length) && (this->width == rectangle.width));
}

bool rectangleType::operator!= (const rectangleType& rectangle) const
{
return ((this->length != rectangle.length) || (this->width != rectangle.width));
}

ostream& operator<< (ostream& osObject, const rectangleType& rectangle)
{
   osObject << "Length = " << rectangle.getLength() << "; Width = " << rectangle.getWidth();
}

main.cpp

//This program shows how to use the class rectangleType.
#include <iostream>
#include "rectangleType.h"
using namespace std;
int main() {
rectangleType rectangle1(23, 45); //Line 1
rectangleType rectangle2(12, 10); //Line 2
rectangleType rectangle3; //Line 3
rectangleType rectangle4; //Line 4

cout << "Line 5: rectangle1: "; //Line 5
rectangle1.print(); //Line 6
cout << endl; //Line 7

cout << "Line 8: rectangle2: "; //Line 8
rectangle2.print(); //Line 9
cout << endl; //Line 10

rectangle3 = rectangle1 + rectangle2; //Line 11
cout << "Line 12: rectangle3: "; //Line 12
rectangle3.print(); //Line 13
cout << endl; //Line 14

rectangle4 = rectangle1 * rectangle2; //Line 15
cout << "Line 16: rectangle4: "; //Line 16
//print rectangl through << stream extraction operator; //Line 17
cout << rectangle4;
cout << endl; //Line 18

if (rectangle1 == rectangle2) //Line 19
cout << "Line 20: rectangle1 and "
<< "rectangle2 are equal." << endl; //Line 20
else //Line 21
cout << "Line 22: rectangle1 and "
<< "rectangle2 are not equal."
<< endl; //Line 22
return 0;
}

Sample Output:-

----------------------------------------------------------------------
COMMENT DOWN FOR ANY QUERIES!!!
HIT A THUMBS UP IF YOU DO LIKE IT!!!


Related Solutions

I am having a hard time getting started on how to do this assignment. I would...
I am having a hard time getting started on how to do this assignment. I would like some ideas on how to start the MEMO. and maybe some ideas on what you would include. But I don't necessarily need the assignment completed for me. just need ideas!!! One routine negative message in the form of an internal memo. 400-500 word message. Single-spaced, with 1-inch margins on all sides. Objective: To announce organizational restructuring, one routine negative message addressed to employees....
I am having a hard time getting my an output after putting in the second set...
I am having a hard time getting my an output after putting in the second set of functions and I was hoping to be able to have the results from the functions be rounded to 2 decimal places. <html> <head> <title>Length Conversion</title> <script language='JavaScript' type='text/JavaScript'> <!-- function validate(type) { if(document.my_form.textinput.value=='') { alert('Fill the Input box before submitting'); return false; }else{ if(type=="to_feet"){ var res=3.2808*document.my_form.textinput.value; var unit=" feet"; }else{ var res=0.3048*document.my_form.textinput.value; var unit=" meter"; } document.getElementById("result").innerHTML=res.toFixed(2) + unit; return false; } }...
I understand the answer to this I am just having a hard time creating a graph...
I understand the answer to this I am just having a hard time creating a graph for it. Bill the butcher is upset because the government plans to tax beef $.10 a pound. "I hate paying taxes," he says. "Because of this, I'm raising all my beef prices by $.10 a pound. The consumers will bear this burden, not me." Do you see anything wrong with this way of thinking? Explain. Draw a graph describing your answer and attach it...
I am having a trouble with a python program. I am to create a program that...
I am having a trouble with a python program. I am to create a program that calculates the estimated hours and mintutes. Here is my code. #!/usr/bin/env python3 #Arrival Date/Time Estimator # # from datetime import datetime import locale mph = 0 miles = 0 def get_departure_time():     while True:         date_str = input("Estimated time of departure (HH:MM AM/PM): ")         try:             depart_time = datetime.strptime(date_str, "%H:%M %p")         except ValueError:             print("Invalid date format. Try again.")             continue        ...
can someone explain to me what osmolality is.? i am having a hard time understanding it
can someone explain to me what osmolality is.? i am having a hard time understanding it
I am having a hard time understanding these two questions. If someone can explain that would...
I am having a hard time understanding these two questions. If someone can explain that would be great. 1) Explain the steps that enables body to metabolize fat to ATP? 2) Write out the amount of ATP, NADH, FADH2 produced in each step of cellular metabolism of a glucose.
I'm having a very hard time getting this c++ code to work. I have attached my...
I'm having a very hard time getting this c++ code to work. I have attached my code and the instructions. CODE: #include using namespace std; void printWelcome(string movieName, string rating, int startHour, int startMinute, char ampm); //menu function //constants const double TICKET_PRICE = 9.95; const double TAX_RATE = 0.095; const bool AVAILABLE = true; const bool UNAVAILABLE = false; int subTotal,taxAdded, totalCost; // bool checkAvailability( int tickets, int& seatingLeft){ //checks ticket availability while(tickets > 0 || tickets <= 200) //valid...
I am struggling with c++ and I could use some guidance getting through this project. Below...
I am struggling with c++ and I could use some guidance getting through this project. Below are my directions. The objective of this project is to be able to incorporate structures in a program. The program will have the user enter the information for two movies (details below) and then display a list of recommended movies that have 4 or more stars. 1. You will need to create a structure named MovieInfo that contains the following information about a movie:...
I am having problems getting the second button part of this to work. this is for...
I am having problems getting the second button part of this to work. this is for visual basic using visual studio 2017. Please help. Create an application named You Do It 4 and save it in the VB2017\Chap07 folder. Add two labels and two buttons to the form. Create a class-level variable named strLetters and initialize it to the first 10 uppercase letters of the alphabet (the letters A through J). The first button’s Click event procedure should use the...
Hello, I am having a hard time being able to fully understand how firm strategy, technology...
Hello, I am having a hard time being able to fully understand how firm strategy, technology and investment affects the emergence of the digital gaming industry? Please go into great detail.
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT