/* Sphere.h provides a Sphere class
 * that illustrates mutator methods.
 * ...
 *******************************************************************/

#include <iostream>
#include <cmath>      // pow()
using namespace std;

const double PI = 3.14159;

class Sphere
{
 public:
   Sphere();

   double getWeight() const;
   // ... other Sphere accessors omitted...
   
   void setRadiusAndDensity(double radius, double density);
   void setRadiusAndWeight(double radius, double weight);
   void setDensityAndRadius(double density, double radius);
   void setDensityAndWeight(double density, double weight);
   void setWeightAndRadius(double weight, double radius);
   void setWeightAndDensity(double weight, double density);

   void print(ostream& out) const;
   void readRadiusAndDensity(istream& in);
   void readRadiusAndWeight(istream& in);
   void readDensityAndRadius(istream& in);
   void readDensityAndWeight(istream& in);
   void readWeightAndRadius(istream& in);
   void readWeightAndDensity(istream& in);

   // ... other Sphere operations omitted...

 private:
   double myRadius, myWeight, myDensity;
};

inline Sphere::Sphere()
{
  myRadius = myWeight = myDensity = 0.0;
}

inline double Sphere::getWeight() const
{
  return myWeight;
}

// ... other "simple" Sphere method definitions...

