C++ (Qt)class IManager{..class AbstractManager: public QObject, public IManager{..template<class T>class ElementManager: public AbstractManager{..
C++ (Qt)manager.addMyObject();// вместо безликого manager.addElement();
C++ (Qt)class DescSortIntManager: public ElementManager<int>{ void sort();}