Даже в описанном мной классическом случае совершенно неоднозначно, требуется сравнение указателей или строк. Иногда важно одно, иногда - другое.
Я нигде не писал "плохой", в отличии от Вас. Я только пытаюсь предупредить читателей данной темы, особенно новичков, что ad-hoc полиморфизм в C++ имеет весомые недостатки. Его использовать допустимо только хорошо отдавая себе отчет, что вернувшись к своему же коду через год-другой понадобится углубляться в изучение реализации всех перегрузок давно забытого кода.
В общем случае, лучше начинающим вообще на C++ полиморфизмом не увлекаться. Код будет прозрачней и проще.


