In: Computer Science
Consider the following statements: #include #include class Temporary { private: string description; double first; double second; public: Temporary(string = "", double = 0.0, double = 0.0); void set(string, double, double); double manipulate(); void get(string&, double&, double&); void setDescription(string); void setFirst(double); void setSecond(double); }; Write the definition of the member function set() so that the instance variables are set according to the parameters. Write the definition of the constructor so that it initializes the instance variables using the function set() Write the definition of the member function manipulate() that returns a decimal number (double) as follows: If the value of description is "rectangle", it returns first * second If the value of description is "circle" it returns the area of a circle with radius first if the value of description is "cylinder" it returns the volume of a cylinder with radius first and height second. HINT: the volume of a cylinder is simply the area of the circle at the base times the height. If the value of description is "sphere" it returns the volume of the sphere with radius first. Otherwise it returns -1.0; To save you googling what the formula for the volume of a sphere is, given the radius of the sphere, it is V=43πr3 HINT: was included for a reason for the manipulate() function.
CODE
#include <iostream>
#define PI 3.14159
using namespace std;
class Temporary {
private:
string description;
double first;
double second;
public:
Temporary(string = "", double = 0.0, double = 0.0);
void set(string, double, double);
double manipulate();
void get(string&, double&, double&);
void setDescription(string);
void setFirst(double);
void setSecond(double);
};
void Temporary::set(string desc, double f, double s) {
description = desc;
first = f;
second = s;
}
void Temporary::setDescription(string desc) {
description = desc;
}
void Temporary::setFirst(double f) {
first = f;
}
void Temporary::setSecond(double s) {
second = s;
}
Temporary::Temporary(string desc, double f, double s) {
set(desc, f, s);
}
void Temporary::get(string& desc, double& f, double& s) {
desc = description;
f = first;
s = second;
}
double Temporary::manipulate() {
if (description == "rectangle") {
return first * second;
} else if (description == "circle") {
return PI * first * first;
} else if (description == "cylinder") {
return 2 * PI * first * (first + second);
} else if (description == "sphere") {
return 4.0/3.0 * PI * first * first * first;
}
return -1;
}