This chapter shows how to enable C++’s operators to work with class objects—a process called operator overloading. One example of an overloaded operator built into C++ is
<<, which is used both as the stream insertion operator and as the bitwise left-shift operator (which is discussed in Chapter 20). Similarly,
>> also is overloaded; it’s used both as the stream extraction operator and the bitwise right-shift operator. Both of these operators are overloaded in the C++ Standard Library. You’ve been using overloaded operators since early in the book. The overloads are built into the base C++ language itself. For example, C++ overloads the addition operator (
+) and the subtraction operator (
-) to perform differently, depending ...