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
Vous devez vous connecter pour publier un commentaire.
Il est appelé "Modèle".
Vous aurez à appeler de cette façon:
édité
Vous pouvez également essayer ce, pour vous assurer que créer des instances de
Interface
:modifier pour modifier votre
J'ai essayé ce code de test:
Fonctionne exactement comme prévu. Vous devez avoir quelques autres erreurs de codage dans vos définitions de classe. Déboguer, il n'a rien à voir avec votre question initiale.