Disjonction dans une classe
Bonsoir,
Je souhaiterai créer une classe présentant une disjonction, c'est à dire :
class Element
{
Soit un élément du type1
Soit un élément du type2
}
Par exemple, pour créer une liste récursive c'est soit une liste vide soit un couple (valeur, queue de la liste)
Merci de votre aide
Re: Disjonction dans une classe
Citation:
Envoyé par doudounico
Bonsoir,
Je souhaiterai créer une classe présentant une disjonction, c'est à dire :
class Element
{
Soit un élément du type1
Soit un élément du type2
}
Par exemple, pour créer une liste récursive c'est soit une liste vide soit un couple (valeur, queue de la liste)
Merci de votre aide
Ouep comme Loulou a dit, c'est les unions. Mais j'pense que c'est pas adapté.
On dirait que t'as fait du CAML toi.
Moi j'avais fait des "types unions" au sens de CAML, en C++, pour des arbres binaires, avec des pointeurs et des fonctions inline pour la commodité d'utilisation.
Note (si c'est pour faire une liste) :
En C++ ya des listes chaînées bi-directionnelles (je crois), celles de la STL que tu peux utiliser avec l'entête <list>, qu'on manipule itérativement en général.
Sinon il y a Functional C++ qui implémente les listes avec une tête et une queue, grâce à la méta-programmation.