The site is currently in read-only mode for maintenance. Posting of new items will be available again shortly.
The original solution has many flaws. Arguments and return types are not what they should be in most cases (by value vs. by reference and also for the constness). No code reuse and also some operators are not doing what would be intuitive like the unary minus.
Information here is much more useful and exact: