Hey guys can you help me with this question ? Write the definition of a class, s
ID: 3636264 • Letter: H
Question
Hey guys can you help me with this question ?Write the definition of a class, swimmingPool, to implement the proper-ties of a swimming pool.
Your class should have the instance variables to store the
length ( in feet), width ( in feet), depth ( in feet), the fillrate ( in gallons per minute) at which the water is filling the pool, and the rate ( in gallons per minute) at which the water is draining from the pool. Add appropriate constructors to initialize the instance variables. Also add member functions, to do the following: Determine the amount of water needed to fill an empty or partially filled pool; the time needed to completely or partially fill the pool, or empty the pool; add water or drain for a specific amount of time.
Explanation / Answer
swimmingPool.h
class swimmingPool
{
private:
double length; // in feet
double width; // in feet
double depth; // in feet
double fillRate; // in us gallons per min
double drainageRate; // in us gallons per min
public:
swimmingPool(double length, double width, double depth, double fillRate = 0, double drainageRate = 0);
// length, width, depth in feet, fillRate, drainageRate in us gallons per min
double WaterRequiredToFill(double initialVolume = 0);
// initialVolume in gallons, returns us gallons
double TimeRequiredToFill(double initialVolume = 0, double finalVolume = -1);
// initialVolume, finalVolume in us gallons, returns min
double TimeRequiredToEmpty(double initialVolume = -1);
// initialVolume in us gallons, returns min
};
swimmingPoollmp.cpp
#include "swimmingPool.h"
swimmingPool::swimmingPool(double length, double width, double depth, double fillRate, double drainageRate)
{
this->length = length;
this->width = width;
this->depth = depth;
this->fillRate = fillRate;
this->drainageRate = drainageRate;
}
double
swimmingPool::WaterRequiredToFill(double initialVolume)
{
return (7.4805*length*width*depth - initialVolume);
}
double
swimmingPool::TimeRequiredToFill(double initialVolume, double finalVolume)
{
if(finalVolume == -1)
{
finalVolume = length*width*depth;
}
return ((finalVolume-initialVolume)/(fillRate-drainageRate));
}
double
swimmingPool::TimeRequiredToEmpty(double initialVolume)
{
if(initialVolume == -1)
{
initialVolume = length*width*depth;
}
return (initialVolume/(drainageRate-fillRate));
}
Ch10_Ex12_MainProgram.cpp
#include "swimmingPoollmp.cpp"
#include <iostream>
int main()
{
swimmingPool* swimmingPool1 = new swimmingPool(100, 200, 500, 5, 3);
swimmingPool* swimmingPool2 = new swimmingPool(100, 200, 500, 3, 5);
std::cout << "WaterRequired To Fill Swimming Pool 1 = " << swimmingPool1->WaterRequiredToFill()
<< " gallons" << std::endl;
std::cout << "Time Required To Fill Swimming Pool 1 = " << swimmingPool1->TimeRequiredToFill()
<< " min" << std::endl;
std::cout << "Time Required To Empty Swimming Pool 2 = " << swimmingPool2->TimeRequiredToEmpty()
<< " min" << std::endl;
return 0;
}