C++ type de classe comme argument

Si j'ai une interface et de nombreuses classes qui implémentent cette interface, je peux maintenant passer comme argument que le type de la classe et non pas de l'objet?

quelque chose comme ceci:

Interface *creatClass(class : Interface){
    return new class();
}

EDIT:

template <class T>
IFrame *creatClass(){
    return new T();
}

void dfg(){
    IFrame *lol = creatClass<Button>();
}

error C3206: 'creatClass' : invalid template argument for 'Dist_Frame', missing template argument list on class template 'Button'

PS. Button hérite IFrame

InformationsquelleAutor Vladp | 2011-10-24