**must be in c++**Write the definition of a class, swimmingPool, to implement th
ID: 3561528 • Letter: #
Question
**must be in c++**Write the definition of a class, swimmingPool, to implement the properties of a swimming pool. Your class should have the instance variables to store the length (in feet), width (in feet), depth (in feet), the rate (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.
Use the file names listed below since your file will have the following components:
Ch10_Ex12_MainProgram.cpp
swimmingPool.h
swimmingPoolImp.cpp
Thanks!
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;
}
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.