With experience of how to overload common math operators gained from the previous articles, in this article we’re going to look at how to overload some “special” operators (unary * and ->) as well as increment and decrement (++ and --). Since none of these could be usefully applied to our Vec3d class, we’ll be creating a new class from scratch. We’ll also discuss three operators which should not normally be overloaded, even though the language permits it.