Другим способом реализации полиморфизма в языке С++ служит перегрузка операторов. Например, в С++ можно использовать операторы << и >> для выполнения операций ввода/вывода. Это оказывается возможным благодаря тому, что в заголовочном файле iostream.h эти операторы перегружены. Когда оператор перегружен, он приобретает дополнительное значение в зависимости от своего использования. Тем не менее он сохраняет возможность своего использования в определенном ранее смысле.
В общем случае можно перегружать операторы С++, определяя, что они означают применительно к специфическому классу. В качестве примера снова рассмотрим класс queue. Можно перегрузить оператор + по отношению к объектам типа queue таким образом, что он добавляет содержимое одного объекта queue к другому. Тем не менее оператор + сохраняет свое прежнее значение оператора сложения по отношению к другим типам данных.