//This file is symphony.h. #ifndef SYMPHONYH #define SYMPHONYH class symphony { int i; void install(int n); public: symphony(int initial_i = 1) {install(initial_i);} operator int() const {return i;} symphony& operator=(int n) {install(n); return *this;} symphony& operator+=(int n) {install(i + n); return *this;} symphony& operator-=(int n) {install(i - n); return *this;} symphony& operator++() {install(i + 1); return *this;} symphony& operator--() {install(i - 1); return *this;} const symphony operator++(int){const symphony old=*this; ++*this;return old;} const symphony operator--(int){const symphony old=*this; --*this;return old;} }; #endif