Write the definition of a class CONTAINER in C++ with the following description:
Private Members
– Radius,Height // float
– Type // int (1 for Cone,2 for Cylinder)
– Volume // float
– CalVolume() // Member function to calculate volume as per the Type
Type Formula to calculate Volume
Type 1 – 3.14*Radius*Height
Type 2 – 2 3.14*Radius*Height/3
Public Members
– GetValues() // A function to allow user to enter value of Radius, Height and Type. Also, call
function CalVolume() from it.
– ShowAll() // A function to display Radius, Height, Type and Volume of Container
Solution
TC++ #5261
class CONTAINER
{
float Radius, Height;
int Type;
float Volume;
void CalVolume();
public:
void GetValues();
void ShowAll();
};
void CONTAINER::GetValues()
{
cout<<"Enter Radius, Height and Type (1 or 2)";
cin>>Radius>>Height>>Type ;
CalVolume();
}
void CONTAINER::ShowAll()
{
cout<<"Radius ="<<Radius<<endl
<<"Height ="<<Height<<endl
<<"Type ="<<Type<<endl
<<"Volume ="<<Volume<<endl;
}
void CONTAINER::CalVolume()
{
if (Type == 1) Volume=3.14*Radius*Height;
else if (Type == 2) Volume=3.14*Radius*Height/3;
}
Notes
float Radius, Height; int Type; float Volume;
These are declaration as required by the question done as a private variables to be used within the class.
void CalVolume();
This is a function prototype declared as private as this function shall be used within the class.
public: void GetValues(); void ShowAll();
These two function prototypes are made public as these functions may have to be used outside class.
void CONTAINER::GetValues() { cout<<“Enter Radius, Height and Type (1 or 2)”; cin>>Radius>>Height>>Type ; CalVolume(); }
This function gets input and calls another private function CalVolume() as desired. Since it is defined outside class the void CONTAINER:: type definition for scope has been given.