class A {};
class B {};
class C {};
class D {};
//A+B , A+C, B+C , A+D, D+C namely all of these combinations will be possible just one functions
Répondre
template <typename T, typename U>
void foo(const T& pX, const U& pY)
{
// do stuff
}
Ce n'est pas ce que vous voulez, en soi, car il fait une nouvelle fonction pour chaque combinaison différente de T
et U
, mais il est un modèle de fonction.
Ceci interdit T
et U
d'être le même:
template <bool> struct static_assert {};
template <> struct<true> static_assert {};
#define STATIC_ASSERT(pValue) static_assert<(pValue)>()
// ...
template <typename T, typename U>
struct is_different
{
static const bool value = true;
};
template <typename T>
struct is_different<T, T>
{
static const bool value = false;
};
// ...
template <typename T, typename U>
void foo(const T& pX, const U& pY)
{
STATIC_ASSERT(is_different<T, U>::value);
// do stuff
}
Si l'OP veut seulement écrire une fonction pour toutes les combinaisons possibles, alors c'est la seule façon de procéder. Cependant, il devrait aussi être possible d'utiliser le polymorphisme pour écrire une fonction d'addition par classe. – Puppy
Ceci inclut A + A, B + B, B + A, etc. qui ne sont pas supposés dans la question. –
@Kirill: Vrai, pas trop difficile de s'arrêter quand même. – GManNickG
- 1. Flex: Comment utiliser flashvars de différentes classes
- 2. Comment changer les variables de différentes classes?
- 3. Comment utiliser Paperclip sans un fichier, juste avec une chaîne?
- 4. Utiliser différentes activités pour différentes vues dans un ViewFlipper
- 5. Comment utiliser les classes "Thread"?
- 6. JNI - Comment créer une bibliothèque pour différentes classes
- 7. Comment utiliser des classes externes dans un modèle de stratégie?
- 8. Comment utiliser TraceSource à travers les classes
- 9. Utilisation de Singleton dans différentes classes
- 10. NSMutableDictionary Accès à partir de différentes classes
- 11. Comment utiliser des génériques avec un tableau de classes?
- 12. IEnumerable.Except() entre différentes classes avec un champ commun
- 13. Comment utiliser les données dans différentes activités?
- 14. Classes héritées renvoyant des valeurs différentes
- 15. Comment exécuter le même test-case pour différentes classes?
- 16. Comment copier des méthodes singleton entre différentes classes Ruby?
- 17. Les différentes classes Signal/SLOT de PyQt
- 18. Comment changer les valeurs de tableaux de différentes classes?
- 19. java comment utiliser les classes dans un autre paquet?
- 20. Comment utiliser MEF pour init un groupe de classes?
- 21. C# VS 2008 Configurations de construction - utilisation de différentes classes pour différentes générations
- 22. Design différentes classes d'usine (et ce qu'il faut utiliser comme argument pour les usines!)
- 23. Comment utiliser les classes internes en PHP?
- 24. Comment utiliser les classes JEDI TJCLHashMap?
- 25. Comment utiliser les classes PrintServer et PrintQueue
- 26. LINQ où requête sur la collection de différentes classes dérivées
- 27. C#: Comment DateTime.Now peut-il être juste un attribut?
- 28. Est-il juste un moyen de sélectionner le nombre (*) à partir de deux tables différentes
- 29. Comment générer un fichier jar avec différentes classes exécutables dans maven2?
- 30. Rendu d'une collection de classes différentes dans Rails
Vous devez préciser ce que vous voulez. Donnez de vrais exemples, de vrais problèmes, etc. Je suppose que l'anglais n'est pas votre langue maternelle, alors essayez d'expliquer votre problème avec autant de détails que possible. – GManNickG