Есть некоторая иерархия классов(например, распределителей памяти), и есть некоторый другой класс, который должен пользоваться одним из этих распределителей, но каким — заранее неизвестно. Можно ли реализовать это через полиморфизм (и если да, то как указать, каким именно распределителем пользоваться?), или же тут придется использовать шаблоны?