The only thing that operator overloading has in common with real object-oriented programming is the double-Os…

We can get the previous example to compile by adding this method. This doesn’t enable us to realize our desired result though. It results instead in this useless method being called every time a Carouser imbibes a Libation.