Bonjour à tous.
Je travaille actuellement sur une classe de Vecteurs en 3 dimensions pour du calcul numérique.
J'ai deux questions à ce sujet. Où placer mes opérateurs ? Dans la classe ou en fonctions libres ? Comme mes attributs sont publics, je n'ai pas de problème d'encapsulation ni de surcoût d'appel de fonction, mais dans toutes les implémentations "canoniques", les opérateurs +=, -=,... sont toujours placés dans la classe. Pour quelle(s) raison(s) ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 struct Vecteur{ double x; //... };
Ma deuxième question concerne les opérateurs +,-,... Je les ai défini en fonction libre utilisant la fonction +=,-=,... associée. Cela crée-t'il un surcoût par rapport à une version qui ferait le calcul direct ? Et à nouveau la même question, y a-t'il un intérêt à placer ces opérateurs dans la structure même ?
Merci d'avance
Partager