// Additive Pattern for numeric classes // ------------------------------------ // Instructions: // 1. Paste the code below into the class being defined. // 2. Substitute the class name for "Class" // 3. Substitute the name of any interacting pure number type // for "PURE_TYPE // 4. Fill in the bodies of the incomplete functions below. public: Class addSet(Class rs) { return this;} public: Class addSet(PURE_TYPE rs) { return this;} public: Class subSet(Class rs) { return this;} public: Class subSet(PURE_TYPE rs) { return this;} public: Class mpySet(PURE_TYPE rs) { return this;} public: Class divSet(PURE_TYPE rs) { return this;} public: Class modSet(Class rs) { return this;} public: Class modSet(PURE_TYPE rs) { return this;} public: PURE_TYPE div(Class rs) {return ;} public: Class minus() {return ;} // Completely defined functions -- no fill-in needed: // ---------------------------- public: Class add(Class rs) {return new Class(this).addSet(rs);} public: Class sub(Class rs) {return new Class(this).subSet(rs);} public: Class mpy(PURE_TYPE rs) {return new Class(this).mpySet(rs);} public: Class div(PURE_TYPE rs) {return new Class(this).divSet(rs);} public: Class mod(Class rs) {return new Class(this).modSet(rs);} public: Class mod(PURE_TYPE rs) {return new Class(this).modSet(rs);}