


Sasume :
En java il n'y a pas de mot-clé virtual![]()
Mais le fait de mettre virtual devant une fonction membre d'une classe produit le même comportement qu'en java![]()
)
(vu qu'approx est une approximation d'ordonnanceur et scheduler une classe pour offrir un certain nombre de fonctions utiles)Zephyr :
Bah la fonction ne peut pas retourner 0 si elle est templatée par un type non pointeur et non initialisable avec un entier, comme le compilo peut décider à la compilation si il accepte ou non un "templatage", il peut très bien déterminer laquelle choisir entre deux implémentations; je n'ai pas la réponse mais ça ne me semble pas tellement différent de n'importe quelle spécialisation de template ?
(accessoirement on m'a demandé de le faire, donc je pense que c'est faisable ^^)
(non seulement ça sera plus propre, mais ça sera aussi plus performant si tu as plusieurs couleurs)Pollux :
cela dit, je ne sais pas exactement pourquoi tu fais ça
(dans ce projet là en tout cas
)
Link :Les classes Orange et Violet, c'était juste des exemples.
Généralement, pour des couleurs statiques, on utilise plutôt soit une enum, soit des objets statiques (comme en java ou en .Net).
Sasume :
Bah parce que le RTTI, c'est moche et ça va à l'encontre de la conception objet. Les alternatives de Pollux sont des conceptions relativement plus propres.
Jyaif
:Pollux :
cela dit, je ne sais pas exactement pourquoi tu fais ça
Je voulais faire ça parceque c'était la méthode qui demandait d'écrire le moins de code
nEUrOO
:Sasume :
Bah parce que le RTTI, c'est moche et ça va à l'encontre de la conception objet. Les alternatives de Pollux sont des conceptions relativement plus propres.
Certes, mais c'est exactement la meme chose dans les faits.
Autant utiliser un outil de C++.
Pollux
:Jyaif
:Pollux :
cela dit, je ne sais pas exactement pourquoi tu fais ça
Je voulais faire ça parceque c'était la méthode qui demandait d'écrire le moins de code
Je voulais dire "pour implémenter quoi dans ton code"![]()
spectras :
Oui, sans compter que l'activation des RTTI à la compilation ralentit fortement la manipulation des objets
c'est pas exactement comme une méthode virtuelle supplémentaire ? (donc oui ça prend un peu de place pour chaque classe, mais je vois pas de raison pour que ça ralentisse si on s'en sert pas)
)Je pensais faire une classe DrawStandart qui ne ferait qu'implémenter draw, et du coup j'aurais juste à faire hériter MovingObject1 et StillObject1 de DrawStandart.Ce serait une grave erreur de conception. L'héritage représente la relation X est un Y. Il ne sert pas à faire de la réutilisation de code.
edit : d'ailleurs ça semble encore plus évident si tu appelles la classe ObjetSimpleAAfficher ^^. Tu fais juste une classe qui hérite et qui implémente ta méthode abstraite...
spectras :
Ce serait une grave erreur de conception. L'héritage représente la relation X est un Y. Il ne sert pas à faire de la réutilisation de code.