I have 2 classes qui représentent une matrice:
1. RegularMatrix - O (n^2) la représentation
2. Matrice Creuse - une matrice qui est représenté en tant que liste liée (sans zéros).opèrateur commutative surcharge + de 2 objets différents
permet de dire que j'ai:
RegularMatrix a;
SparseMatrix b;
je veux être en mesure de le faire:
a+b;
et aussi:
b+a;
donc je suis surcharger l'opérateur +. Ma question est, puisque je veux que l'addition soit commutative (a + b = b + a), dois-je implémenter 2 surcharges, une pour chaque cas?
RegularMatrix operator+(const RegualarMatrix &, const SparseMatrix &);
RegularMatrix operator+(const SparseMatrix & ,const RegualarMatrix &);
ou existe-t-il une forme générale que le compilateur décide lui-même?
Merci
Oui. Sûr. Sneak dans quelques secondes devant moi. Comme vous avez vraiment besoin des points ... – dmckee
Merci .. Et encore une chose que je suis curieux de savoir, est-ce considéré comme une meilleure programmation pour renvoyer une référence de RegularMatrix que de retourner l'objet par valeur? –
@dmckee: Pour être juste, c'était plus d'une minute. ':)' – sbi