Chapter 15: Operator Overloading C++ Programming: From Problem Analysis to Program Design, Fifth Edition.