Bonjour à tous,
Je tente de remonter le paramètre ... au parent de mon objet !
Code:
1
2
3
4 Parent (int p, ...) { //code }
Une idée ?Code:
1
2
3
4
5 Fils (int p, ...) :Parent (p, ...) { //code }
Version imprimable
Bonjour à tous,
Je tente de remonter le paramètre ... au parent de mon objet !
Code:
1
2
3
4 Parent (int p, ...) { //code }
Une idée ?Code:
1
2
3
4
5 Fils (int p, ...) :Parent (p, ...) { //code }
:?:
le ... signifie que la liste de paramètre est variableCode:Parent (int p, ...);
C++ prend en compte ce type de paramètre
Mais je ne sais pas comment remonter ce paramètre qui est "spécial" à son parent tel quel !!!
:D On peut penser qu'un modérateur de ce forum connait l'existence des "..." :D
Le point d'interrogation exprime ici (je pense) une incompréhension totale de ton problème : que cherches-tu à faire? pourquoi? es-tu sûr d'avoir bien pensé tes classes?
:D
il est vrai
Je passe en paramètre une liste de points à ma classe fils
J'aimerai pouvoir passer à ma classe parent cette liste sans avoir besoin de passer par le corps du constructeur de ma classe fils
Certe il est possible de réaliser l'opération autrement, mais si cela peut me faire gagner quelques lignes de codes et apprendre une petite astuce du langage, je ne suis pas contre :)
8O merci, je connais. j'avais mal compris. dans la langue française '...' = 'etc.'. pour le coup on pouvait comprendre ce que tu voulais de 2 façons.Citation:
Envoyé par @drien
Code:
1
2
3
4
5 Fils (int p, [blablabla]) :Parent (p, [blablabla]) { //code }
Oui oui je me suis mal exprimé, ce n'est pas toi que je charriais, au contraire!
Personnellement je n'aime pas le "...", qui il me semble ne conserve pas les types des paramètres passés.
J'ai cependant cherché, sans rien trouvé pour ton problème.
Je te propose quand même une autre solution : utiliser un conteneur.
Puisque tu veux passer un ensemble de points, tu peux utiliser un std::vector. Si tu veux déclarer la liste des points directement dans le constructeur (et utiliser une variable temporaire), tu peux créer un conteneur et faire du chainage de fonction, voire redéfinir l'opérateur , (virgule).
Les ... sont très souvent à déconseiller en C++, on leur préfère généralement les conteneurs, ou le chaînage d'appel (comme pour cout)
Citation:
Envoyé par kinta
Code:Fils::Fils(std::vector<Point> const &mesPoints) : Père(mesPoints) {}