Transcription: An overloaded arrow operator must return a reference to a class object, an object of a class that contains an overloaded arrow function, or a pointer to a class. If the return value is of class type, that class must not be the same as the class declaring the function, and it must contain its own definition of an overloaded arrow operator.