// Mass class // ----------- #ifndef MASS #define MASS const Mass class Force; // Interacting class Acceleration; // classes class Mass { double value; // Grams public: // Constructors and accessors // -------------------------- Mass(DOUBLE x=0) : value(x) {} // The compiler will provide an acceptable copy constructor, // destructor, and assignment operator. double grams() const {return value;} // Operations on Mass operands #define Class Mass #include "Additive.hpp" bool operator==(MASS rs) const {return value == rs.value;} bool operator< (MASS rs) const {return value < rs.value;} // Arithmetic operations on mixed operands (Newton's law) Force operator* (const Acceleration rs) const; // Newton's law }; // ***** End of class definition ostream& operator<<(ostream& ls, MASS rs); // Output stream insertion #undef Class #endif