Manipulation de tableaux dynamiques
Fermé
soheib
-
Modifié le 12 août 2019 à 11:41
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 - 12 août 2019 à 11:40
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 - 12 août 2019 à 11:40
A voir également:
- Tableau dynamique d'objet c++
- Tableau croisé dynamique - Guide
- Vente objet occasion entre particulier - Guide
- Tableau ascii - Guide
- Tableau word - Guide
- Liste déroulante dynamique excel - Guide
1 réponse
mamiemando
Messages postés
33079
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
23 avril 2024
7 749
Modifié le 12 août 2019 à 11:54
Modifié le 12 août 2019 à 11:54
Bonjour,
Plusieurs conseils préalables :
Et sinon sans le code des classes manquantes, on ne peut pas trop répondre.
Le plus naturel serait de définir dans
Du coup on aurait quelque chose du genre :
Bonne chance
Plusieurs conseils préalables :
- soigne l'indentation (cf ton post corrigé)
- donne un code qu'on peut compiler (ici par exemple il manque les classes
Exemplaire
etOeuvre
) - corrige les erreurs de compilation (dans ton message initial, il manquait une accolade).
- en C++ il y a des conventions de notations : en outre une méthode commence par une minuscule, donc
Afficher
devrait devenirafficher
. Dans la même veine il faut choisir comment tu nommes tes méthodes, soit en minuscules avec des_
soit en camel-case. Mais il n'est pas logique d'avoir dans le même codegetNom
etlister_exemplaires
, ce sont deux styles de notations différents. - Dans la même veine, soit tu fais tout en français, soit tout en anglais. Mais il n'est pas logique d'avoir dans ton code tantôt une variable
name
, et tantôt une méthodegetNom
. - un petit merci ne serait pas de trop :-)
- ta première méthode
lister_exemplaires
devrait être renomméeafficher_exemplaires
. Ton attribut de classeexemplaire
devrait être renomméexemplaires
. - ta seconde méthode
lister_exemplaires
retourne un entier alors qu'elle est supposée ne rien retourner (void
). D'ailleurs lereturn
n'est pas au bon endroit et la fonction semble mal nommée (pour le moment ça ressemble plus àcompter_exemplaires_contenant
). - enfin ta fonction getNom devrait plutôt être écrite ainsi :
inline const std::string & get_nom() const { return this.nom; }
Et sinon sans le code des classes manquantes, on ne peut pas trop répondre.
Le plus naturel serait de définir dans
Exemplaireune méthode
bool contient_oeuvre(const Oeuvre & o)et d'adapter dans
Bibliothequeta fonction
lister_exemplaires.
Du coup on aurait quelque chose du genre :
vector<Exemplaire> lister_exemplaires_contenant(Oeuvre & o) { vector<Exemplaire> ret; for (const Exemplaire & ex : this.exemplaire) { if (ex.contient_oeuvre(o)) { ret.push_back(ex) } } return ret; }
Bonne chance