Pbm de classe
Résolu
adeline11
Messages postés
58
Statut
Membre
-
adeline11 Messages postés 58 Statut Membre -
adeline11 Messages postés 58 Statut Membre -
Bonjour,
Voilà j'ai une classe A qui possède une méthode toString qui affiche ses attributs et j'ai également une classe B avec sa méthode toString qui fait la mm chose. Et je voudrais pouvoir afficher les attributs de la classe A dans la classe B. Je dois donc appeller la méthode toString de la classe A dans celle de la classe B. Seulement je ne sais pas du tout comment faire. Merci d'avance pour votre aide
ps: j'utilise du c++ et je débute ^^
Voilà j'ai une classe A qui possède une méthode toString qui affiche ses attributs et j'ai également une classe B avec sa méthode toString qui fait la mm chose. Et je voudrais pouvoir afficher les attributs de la classe A dans la classe B. Je dois donc appeller la méthode toString de la classe A dans celle de la classe B. Seulement je ne sais pas du tout comment faire. Merci d'avance pour votre aide
ps: j'utilise du c++ et je débute ^^
Configuration: Linux Firefox 3.0.5
3 réponses
-
Bonjour,
Y a-t-il un héritage entre A et B ?
Si oui et si A est parent de B, dans la méthode B.toString, tu peux appeler la méthode parent.toString()
Si non,
A.toString est-elle statique ?
Si oui, tu peux appeler A::toString()
Si non,
Il faut probablement instancier un objet de la classe A dans la méthode B.toString().
Après pour la syntaxe, il faudra demander à quelqu'un qui a déjà fait du C++, ce n'est pas mon cas ^^ -
Déjà non il n'y a pas d'héritage entre ces 2 classe donc j'ai obté pour la 2ème solution mais elle ne fonctionne pas.
Voila ma ligne de code:
" ostr <<my_position.toString()<<" Nid: "<<Fourmiliere::my_nid.toString();"
et voilà ce que me retourne le compilateur:
"fourmi.cc: In member function «virtual std::string Fourmi::toString()»:
fourmi.cc:40: erreur: «my_nid» is not a member of «Fourmiliere»"
en gros d'après ce que j'ai compris, il considère my_nid comme un attribut de fourmilere alors que moi ce que je veux lui dire c'est que my_nid EST un fourmiliere -
j'ai trouvé la solution. Ne me demande pas comment j'ai fait parce que c'était au pif^^
voilà la ligne a écrire:
"" ostr <<my_position.toString()<<" Nid: "<<(*my_nid).toString();"
Merci beaucoup pour ton aide et ta patience :p