Mais malgré ma courte expérience en
programmation, ca me semble assez laid, on dirait du bricolage. Et en
plus si un gugus d'utilisateur (en l'occurence moi ) s'amuse à écrire:
A a,b;
a.set_value(1);
b.set_value(2);
while(1)
{
a+b;
}
La mémoire explose, car la matrice de résultat de a+b n'est pas détruite.
On m'a aussi proposé ceci, mais qui comporte le même problème de mémoire...
C'est un peu plus beau que ce que j'ai fait plus haut, mais c'est toujours aussi foireux pour la mémoire...
J'ai comme on dit "besoin d'un p'tit coup d'pouce"
ps:
Je suis obligé de surdéfinir les constructeurs car mon vrai projet est avec des matrices dynamiques...
Ne me dites pas de changer de language pour faire ca, je sais bien que
le c++ n'est pas top pour les math, mais c'est pour un projet officiel
en c++, donc je n'ai pas ce choix...
C'est pas méga urgent mais je dois quand même le rendre en janvier, et j'ai pas mal de boulot à côté...
cs_Aquarian
Messages postés9Date d'inscriptionlundi 10 mai 2004StatutMembreDernière intervention20 avril 2006 16 nov. 2005 à 12:11
Salut,
On peut régler le problème différemment, il suffit juste de rajouter les "const" qui manquent dans ton code sinon l'entête pour l'opérateur + peut bien être écrit comme tu l'as fait. Il compile chez moi avec les const rajoutés :
class A
{
int a;
public:
A() {
a=0;
}
int get_value() const {
return a;
}
void set_value(int new_a) {
a=new_a;
}
A operator+(const A& other) const{
A sum;
sum.set_value(this->get_value() + other.get_value());
return sum;
}
cs_Aquarian
Messages postés9Date d'inscriptionlundi 10 mai 2004StatutMembreDernière intervention20 avril 2006 16 nov. 2005 à 15:31
Ca ne doit pas être obligatoirement un friend...
Les deux s'utilisent, je ne pense pas qu'une méthode soit meilleure par rapport à l'autre mais peut-être qu'il y a une raison telle qu'utiliser un friend dans ce cas serait préférable.
cs_Aquarian
Messages postés9Date d'inscriptionlundi 10 mai 2004StatutMembreDernière intervention20 avril 2006 16 nov. 2005 à 16:44
Mais non, ma réponse est peut-être un peu sèche mais ce n'était pas voulu :(
En fait j'aimerai savoir comment l'un des deux choix peut-être justifié suivant les cas.
_________
Aquarian