J'aimerais mettre en place une interface à-la IEnumerable<T>.
Ou alors mon idée de départ n'est pas un bon design ?
j'aimerais voir avec 2 méthodes
abstraites
: "AddChild (Children*)" et
"getChildren (Children*)".
donc je ne pourrai pas stocker des implémentations avec
différents containers dans un même vector par exemple.
J'aimerais mettre en place une interface à-la IEnumerable<T>.
Ou alors mon idée de départ n'est pas un bon design ?
j'aimerais voir avec 2 méthodes
abstraites
: "AddChild (Children*)" et
"getChildren (Children*)".
donc je ne pourrai pas stocker des implémentations avec
différents containers dans un même vector par exemple.
J'aimerais mettre en place une interface à-la IEnumerable<T>.
Ou alors mon idée de départ n'est pas un bon design ?
j'aimerais voir avec 2 méthodes
abstraites
: "AddChild (Children*)" et
"getChildren (Children*)".
donc je ne pourrai pas stocker des implémentations avec
différents containers dans un même vector par exemple.
Bonjour,
J'aimerais mettre en place une interface à-la IEnumerable<T>. En 2
mots, c'est une classe C# de base pour toutes les collections
enumerables, qui permet de traiter de façon uniforme list et vector
par exemple, lorsqu'on a des boucles du types "foreach ()".
J'aimerais faire la même chose, ie. j'ai une interface "Interface" que
j'aimerais voir avec 2 méthodes abstraites : "AddChild (Children*)" et
"getChildren (Children*)". Mais que donner comme type de retour à
"getChildren" ?
Bonjour,
J'aimerais mettre en place une interface à-la IEnumerable<T>. En 2
mots, c'est une classe C# de base pour toutes les collections
enumerables, qui permet de traiter de façon uniforme list et vector
par exemple, lorsqu'on a des boucles du types "foreach ()".
J'aimerais faire la même chose, ie. j'ai une interface "Interface" que
j'aimerais voir avec 2 méthodes abstraites : "AddChild (Children*)" et
"getChildren (Children*)". Mais que donner comme type de retour à
"getChildren" ?
Bonjour,
J'aimerais mettre en place une interface à-la IEnumerable<T>. En 2
mots, c'est une classe C# de base pour toutes les collections
enumerables, qui permet de traiter de façon uniforme list et vector
par exemple, lorsqu'on a des boucles du types "foreach ()".
J'aimerais faire la même chose, ie. j'ai une interface "Interface" que
j'aimerais voir avec 2 méthodes abstraites : "AddChild (Children*)" et
"getChildren (Children*)". Mais que donner comme type de retour à
"getChildren" ?
>J'aimerais mettre en place une interface à-la IEnumerable<T>.
> Ou alors mon idée de départ n'est pas un bon design ?
Ben... Si tu veux programmer en Java (ou C#, c'est pareil) en C++, ne
t'attends pas à un grand enthousiasme de ma part.
Que veux-tu faire exactement ?
Tu as déjà des vector<> et des list<>, venant de sources diverses, et
tu veux les encapsuler dans une interface unique ?
Ou bien, tu veux stocker des éléments, et tu as tantôt besoin des
avantages de list<>, et tantôt des avantages de vector<> ?
Quid de la gestion de la durée de vie des conteneurs ? N'oublie pas
que C++, contrairement à C# et Java, n'a pas de GC.
>j'aimerais voir avec 2 méthodes
Attention, le mot "méthode" en C++ désigne plutôt une façon d'arr iver
à ses fins.
Il peut aussi servir à désigner, soit une fonction membre virtuelle,
soit une fonction membre tout court ; mais comme tout le monde n'est
pas d'accord sur la signification, mieux vaut l'éviter.
>abstraites
"Classe abstraite" ou "fonction virtuelle pure". Choisis, mais ne
mélange pas les deux.
> : "AddChild (Children*)" et
>"getChildren (Children*)".
Que serait l'argument passé à ces fonctions ?
> donc je ne pourrai pas stocker des implémentations avec
>différents containers dans un même vector par exemple.
Yep. Note que le polymorphisme d'héritage ne fonctionne pas beaucoup
mieux : ça force à mettre des pointeurs dans ton conteneur, et à g érer
toi-même la durée de vie des éléments, ce qui est vite chiant.
J'essaie depuis un moment de trouver une solution élégante au
problème, mais j'en viens toujours au même point : je manque
d'informations. Pourquoi as-tu besoin de gérer à la fois vector<> et
list<> ?
>J'aimerais mettre en place une interface à-la IEnumerable<T>.
> Ou alors mon idée de départ n'est pas un bon design ?
Ben... Si tu veux programmer en Java (ou C#, c'est pareil) en C++, ne
t'attends pas à un grand enthousiasme de ma part.
Que veux-tu faire exactement ?
Tu as déjà des vector<> et des list<>, venant de sources diverses, et
tu veux les encapsuler dans une interface unique ?
Ou bien, tu veux stocker des éléments, et tu as tantôt besoin des
avantages de list<>, et tantôt des avantages de vector<> ?
Quid de la gestion de la durée de vie des conteneurs ? N'oublie pas
que C++, contrairement à C# et Java, n'a pas de GC.
>j'aimerais voir avec 2 méthodes
Attention, le mot "méthode" en C++ désigne plutôt une façon d'arr iver
à ses fins.
Il peut aussi servir à désigner, soit une fonction membre virtuelle,
soit une fonction membre tout court ; mais comme tout le monde n'est
pas d'accord sur la signification, mieux vaut l'éviter.
>abstraites
"Classe abstraite" ou "fonction virtuelle pure". Choisis, mais ne
mélange pas les deux.
> : "AddChild (Children*)" et
>"getChildren (Children*)".
Que serait l'argument passé à ces fonctions ?
> donc je ne pourrai pas stocker des implémentations avec
>différents containers dans un même vector par exemple.
Yep. Note que le polymorphisme d'héritage ne fonctionne pas beaucoup
mieux : ça force à mettre des pointeurs dans ton conteneur, et à g érer
toi-même la durée de vie des éléments, ce qui est vite chiant.
J'essaie depuis un moment de trouver une solution élégante au
problème, mais j'en viens toujours au même point : je manque
d'informations. Pourquoi as-tu besoin de gérer à la fois vector<> et
list<> ?
>J'aimerais mettre en place une interface à-la IEnumerable<T>.
> Ou alors mon idée de départ n'est pas un bon design ?
Ben... Si tu veux programmer en Java (ou C#, c'est pareil) en C++, ne
t'attends pas à un grand enthousiasme de ma part.
Que veux-tu faire exactement ?
Tu as déjà des vector<> et des list<>, venant de sources diverses, et
tu veux les encapsuler dans une interface unique ?
Ou bien, tu veux stocker des éléments, et tu as tantôt besoin des
avantages de list<>, et tantôt des avantages de vector<> ?
Quid de la gestion de la durée de vie des conteneurs ? N'oublie pas
que C++, contrairement à C# et Java, n'a pas de GC.
>j'aimerais voir avec 2 méthodes
Attention, le mot "méthode" en C++ désigne plutôt une façon d'arr iver
à ses fins.
Il peut aussi servir à désigner, soit une fonction membre virtuelle,
soit une fonction membre tout court ; mais comme tout le monde n'est
pas d'accord sur la signification, mieux vaut l'éviter.
>abstraites
"Classe abstraite" ou "fonction virtuelle pure". Choisis, mais ne
mélange pas les deux.
> : "AddChild (Children*)" et
>"getChildren (Children*)".
Que serait l'argument passé à ces fonctions ?
> donc je ne pourrai pas stocker des implémentations avec
>différents containers dans un même vector par exemple.
Yep. Note que le polymorphisme d'héritage ne fonctionne pas beaucoup
mieux : ça force à mettre des pointeurs dans ton conteneur, et à g érer
toi-même la durée de vie des éléments, ce qui est vite chiant.
J'essaie depuis un moment de trouver une solution élégante au
problème, mais j'en viens toujours au même point : je manque
d'informations. Pourquoi as-tu besoin de gérer à la fois vector<> et
list<> ?
Je ne suis pas s r d'avoir tout compris ton probl me, mais je pense
que getChildren() devrait retourner un type de classe abstraite,
appelons la "Iterator", qui encapsulerait le container list ou vector
(ou autre) utilis . A chaque impl mentation de Interface corresponderait
une impl mentation de Iterator.
[code]
Je ne suis pas s r d'avoir tout compris ton probl me, mais je pense
que getChildren() devrait retourner un type de classe abstraite,
appelons la "Iterator", qui encapsulerait le container list ou vector
(ou autre) utilis . A chaque impl mentation de Interface corresponderait
une impl mentation de Iterator.
[code]
Je ne suis pas s r d'avoir tout compris ton probl me, mais je pense
que getChildren() devrait retourner un type de classe abstraite,
appelons la "Iterator", qui encapsulerait le container list ou vector
(ou autre) utilis . A chaque impl mentation de Interface corresponderait
une impl mentation de Iterator.
[code]
Mais peut-être que j'essaie de trop généraliser ?
Mais peut-être que j'essaie de trop généraliser ?
Mais peut-être que j'essaie de trop généraliser ?
Ben... Si tu veux programmer en Java (ou C#, c'est pareil) en C++, ne
t'attends pas à un grand enthousiasme de ma part.
Euh, ne soyons pas psychorigides.
Ben... Si tu veux programmer en Java (ou C#, c'est pareil) en C++, ne
t'attends pas à un grand enthousiasme de ma part.
Euh, ne soyons pas psychorigides.
Ben... Si tu veux programmer en Java (ou C#, c'est pareil) en C++, ne
t'attends pas à un grand enthousiasme de ma part.
Euh, ne soyons pas psychorigides.
class Iterator : IIterator<Conteneur::value_type>
return make_pair ( make_iterator (mon_conteneur_connu.begin(),
mon_conteneur_connu.end()));
// peut-être avec un peu d'aide pour la déduction d'argument,
j'arrive jamais à prévoir
class Iterator : IIterator<Conteneur::value_type>
return make_pair ( make_iterator (mon_conteneur_connu.begin(),
mon_conteneur_connu.end()));
// peut-être avec un peu d'aide pour la déduction d'argument,
j'arrive jamais à prévoir
class Iterator : IIterator<Conteneur::value_type>
return make_pair ( make_iterator (mon_conteneur_connu.begin(),
mon_conteneur_connu.end()));
// peut-être avec un peu d'aide pour la déduction d'argument,
j'arrive jamais à prévoir
Bonjour,
J'aimerais mettre en place une interface à-la IEnumerable<T>. En 2
mots, c'est une classe C# de base pour toutes les collections
enumerables, qui permet de traiter de façon uniforme list et vector
par exemple, lorsqu'on a des boucles du types "foreach ()".
Vu que ça demande pas mal d'efforts, je voulais vous demander si vous
n'avez pas une meilleure idée. Ou alors mon idée de départ n'est pa s
un bon design ?
Michael, qui revient quelques années plus tard :)
Bonjour,
J'aimerais mettre en place une interface à-la IEnumerable<T>. En 2
mots, c'est une classe C# de base pour toutes les collections
enumerables, qui permet de traiter de façon uniforme list et vector
par exemple, lorsqu'on a des boucles du types "foreach ()".
Vu que ça demande pas mal d'efforts, je voulais vous demander si vous
n'avez pas une meilleure idée. Ou alors mon idée de départ n'est pa s
un bon design ?
Michael, qui revient quelques années plus tard :)
Bonjour,
J'aimerais mettre en place une interface à-la IEnumerable<T>. En 2
mots, c'est une classe C# de base pour toutes les collections
enumerables, qui permet de traiter de façon uniforme list et vector
par exemple, lorsqu'on a des boucles du types "foreach ()".
Vu que ça demande pas mal d'efforts, je voulais vous demander si vous
n'avez pas une meilleure idée. Ou alors mon idée de départ n'est pa s
un bon design ?
Michael, qui revient quelques années plus tard :)
class Iterator : IIterator<Conteneur::value_type>
Ne manque-t-il pas un "public" quelque part ?
return make_pair ( make_iterator (mon_conteneur_connu.begin(),
mon_conteneur_connu.end()));
class Iterator : IIterator<Conteneur::value_type>
Ne manque-t-il pas un "public" quelque part ?
return make_pair ( make_iterator (mon_conteneur_connu.begin(),
mon_conteneur_connu.end()));
class Iterator : IIterator<Conteneur::value_type>
Ne manque-t-il pas un "public" quelque part ?
return make_pair ( make_iterator (mon_conteneur_connu.begin(),
mon_conteneur_connu.end()));
Bonjour,
J'aimerais mettre en place une interface à-la IEnumerable<T>. En 2
mots, c'est une classe C# de base pour toutes les collections
enumerables, qui permet de traiter de façon uniforme list et vector
par exemple, lorsqu'on a des boucles du types "foreach ()".
Bonjour,
J'aimerais mettre en place une interface à-la IEnumerable<T>. En 2
mots, c'est une classe C# de base pour toutes les collections
enumerables, qui permet de traiter de façon uniforme list et vector
par exemple, lorsqu'on a des boucles du types "foreach ()".
Bonjour,
J'aimerais mettre en place une interface à-la IEnumerable<T>. En 2
mots, c'est une classe C# de base pour toutes les collections
enumerables, qui permet de traiter de façon uniforme list et vector
par exemple, lorsqu'on a des boucles du types "foreach ()".