Ressources proposées par 3DArchi - Les fonctions virtuelles en C++ - Cours et tutoriels C++ - FAQ C++ - Forum C++.
Ah non, pas d'approche objet pour les algorithmes. D'ailleurs, ça veut dire quoi ?
La POO, c'est une manière de structurer ses programmes, problème orthogonal à un problème algorithmique.
Et le C++ n'implique pas de faire de l'objet, on peut rester en procédural. Tous les algorithmes de la STL sont des fonctions libres. C'est très bien comme ça.
On est pas dans le dogme comme en Java.
Pour continuer sur le troll avec HanLee et Frifron, je maintiens: ça serait intéressant de l'aborder sur le paradigme purement objet, car tant qu'à programmer avec un langage objet autant raisonner en objet.
"La POO, c'est une manière de structurer ses programmes, problème orthogonal à un problème algorithmique." Oui mais la pratique montre qu'on finit par programmer comme on a pensé l'algo surtout en C++ où on finit par implémenter du C maquillé en C++ et on ne s'oblige pas à transcrire un algo dans une approche OO.
Ressources proposées par 3DArchi - Les fonctions virtuelles en C++ - Cours et tutoriels C++ - FAQ C++ - Forum C++.
Non, le C++ n'est pas un langage exclusivement objet, il est pragmatique (bien que très orienté impératif).
En C++, on est libre de nos styles de programmation. On est pas en Java/C# (bien qu'ils commencent à intégrer beaucoup de choses des langages fonctionnels, et ça c'est bien).
Enfin, j'ai pas compris si le but c'était de structurer le programme dont l'intérêt est de rejouer un algorithme, et ceci dans une optique POO, ou bien de structurer notre fonction libre, en l'adaptant sous forme POO-esque.
- Dans le premier cas, OK, tu peux ignorer tout ce qui suit (1er cas = mettre sous l'approche POO, toute la partie mélange de l'algorithme avec l'input).
Ce serait très limité quand même, vu la taille du problème.
C'est comme tout domaine scientifique, chaque approche a ses domaines de prédilection, et les problèmes minuscules comme ceux-ci bah ne donnent pas un avantage flagrant. D'ailleurs, la POO n'est pas encore la panacée...
- Dans le deuxieme cas (= formuler l'algorithme de dichotomie uniquement, c'est-à-dire non couplé avec l'input, sous forme POO) :
Ca veut dire que tu voudrais transformer std::lower_bound en mode POO ?
Autre question, std::sin, std::cos, std::log et consort. devraient être dans une classe donc ? Ca en deviendrait ridicule.
POO ou pas, la seule différence, ce sera le type de données que tu manipules, et qui manipule quoi.
Typiquement, tu n'auras que des objets, et des méthodes...
En général, on s'autorise des types primitifs quand même.
Un algorithme comme ça, c'est du pur calcul.
Et au final, tu te retrouveras avec une méthode statique, et donc tu auras créé une classe de manière "hypocrite".
Preuve que cette classe n'a pas vraiment lieu d'exister...
Oui, mais dans le cadre d'un cours/TD sur C++, on peut se contraindre à l'aborder uniquement en approche OO. Ca reste un exercice de style.
L'idée n'est plus de raisonnée en disant 'je cherche un algo pour trouver un nombre à partir d'une saisie' mais de le reformuler avec le vocabulaire OO.
Je répète, l'intérêt est alors pour l'exercice de style.
Réecriture des fonctions mathématiques
Dans ce cas, effectivement, tu auras transcrit une solution 'C' en 'C++'.
Ressources proposées par 3DArchi - Les fonctions virtuelles en C++ - Cours et tutoriels C++ - FAQ C++ - Forum C++.
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Oui l'approche objet est inexistante dans l'algo mais bon je ne vois ni comment ni pourquoi mettre de l'objet ici.
La ou l'OO sera interessant, c'est si on va un peu plus loin est qu'on met en place un algorithme de recherche dichotomique sur un conteneur d'objets triés (et puis comparer les résultats avec le classique find)
SPARK
Moteur de particule C++ opensource avec modules de rendu OpenGL, Irrlicht et SFML
Je vous signale que le premier message de ce topic était de demander simplement un peu d'aide, et là... ça part un peu en troll
Le programme marche nickel![]()
Et merci encore les gens![]()
Partager