Вот смотри что тут написано.Частным случаем перегрузки функций можно считать перегрузку операторов.Механизмом шаблоновДинамический полиморфизм реализуется с помощью виртуальных методов и иерархии наследования. Полиморфным в C++ является тип имеющий хотя бы один виртуальный метод. Пример иерархии:class Figure{public:    virtual void Draw() = 0; // чистый виртуальный метод    virtual ~Figure();       // при наличии хотя бы одного виртуального метода деструктор следует сделать виртуальным};