Comment devrais-je m'assurer que les classes nécessaires comme params à ma classe modélisée auront une certaine interface? Je sais que l'one-way est de faire dans la classe Interface pure virtuelle mais je voudrais l'éviter. Y a-t-il un autre moyen de le faire? Je voudrais éviter tout ce qui est pas standardComment imposer une interface?
//Example
template<class SomePolicy>
class My
{
void fnc()const
{
SomePolicy::mustHaveThisInterface();//<--here I have to have
// this interface in orded to work
}
};
Qu'entendez-vous exactement par interface? Voulez-vous juste être sûr que la classe définit une fonction 'void mustHaveThisInterface()'?Ou est-il nécessaire de surcharger le 'virtual must 'mustHaveThisInterface()' défini dans une classe de base prédéfinie? – jalf
@jalf le premier jalf;) –
alors la réponse est "juste essayer de compiler le code". Le compilateur le rejettera si la fonction n'est pas définie. :) – jalf