Problème instanciation objet/appel de méthode
Bonjour,
Voici mon problème :
J'instancie un objet dynamiquement comme ceci :
Code:
1 2 3 4
|
Hypergraph * h;
h = new Hypergraph(argv[1]); |
Dans le constructeur, il y a un certain nombre de calculs qui font que des attributs de mon objet sont changés (c'est-à-dire qu'elle n'ont plus leur valeur par défaut à la fin).
Le problème étant que lorsque j'effectue un appel de méthode standard :
Code:
1 2
|
h->export_hmetis("hyp.hgr"); |
Il semblerait que les attributs n'ont pas été modifiés, comme si je n'avais pas instancié l'objet ! J'ai vérifié en faisant des prints de tes dans les méthodes utilisées dans le constructeur, les calculs s'effectuent correctement. Lorsque j'utilise cette méthode (export_hmetis) à l'intérieur de mon constructeur, ça fonctionne. Il semblerait que les modifications soient exclusivement locales dans le constructeur, ce qui est à l'inverse du paradigme objet. Si quelqu'un a une idée de l'origine du problème, je suis preneur.
P.S : J'ai une petite expérience du C++, donc pas de pierres si j'ai mis le doigt sur un truc évident, merci.