Participer au site avec un Tip
Rechercher
 

Améliorations / Corrections

Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.

Emplacement :

Description des améliorations :

Accès rapide :






Vous êtes un professionnel et vous avez besoin d'une formation ?

Design Patterns
en C++


Voir le programme détaillé
ESN Inovelya : Nous recrutons

Les concepts relatifs à l'héritage : Aspects fondamentaux


Notes:

Trois questions sont ici posées. Prenons le temps de répondre à ces questions une à une. Premièrement, comment représenter un point dans le plan ? En réalité c'est le cahier des charges du logiciel à produire qui nous permettra de répondre à cette question. Effectivement on peut au minimum opter pour deux alternatives distinctes : soit en coordonnées polaires, soit en coordonnées cartésiennes. On imaginera que le cahier des charges nous fait plutôt opter pour la seconde solution. Mais même si l'on retient la première solution, comment représenter les différentes dimensions (des entiers, court, long, des flottants, ?) ? Encore une fois nous considérerons que le cahier des charges impose plutôt l'utilisation du type double pour représenter les différentes dimensions. Notez bien qu'il est très important de bien choisir les types de données utilisées : des mauvais choix peuvent impliquer des plus ou moins grosses difficultés pour la suite du développement.

Seconde question : comment représenter un vecteur de déplacement. Il semble raisonnable de dire que le cahier des charges risque d'imposer une implémentation assez proche de celle utilisée pour représenter les points.

Enfin, pouvons-nous n'utiliser qu'une seule classe pour implémenter les deux concepts de points et de vecteurs ? La réponse est bien entendu non ! Effectivement, un vecteur n'est pas un point et réciproquement. Que voudrait dire de normaliser un point ? En tout cas, mathématiquement parlant, c'est une opération non définie.

Diapositive précédente Diapositive suivante
Vous êtes un professionnel et vous avez besoin d'une formation ? Design Patterns
en C++
Voir le programme détaillé