Consider overloading unary operator !
to test whether an object of your own String
class is empty. Such a function would return a bool
result. When a unary operator such as !
is overloaded as a member function with no arguments and the compiler sees the expression !s
(in which s
is an object of class String
), the compiler generates the function call s.operator!()
. The operand s
is the String
object for which the String
class member function operator!
is being invoked. The function is declared as follows:
class String
{
public:
bool operator!() const;
...
}; // end class String