Surchage de l'opérateur [] [C++] - C++ - Programmation
Marsh Posté le 28-12-2007 à 21:31:24
Salut,
Tu devrais plutôt définir un livre de recettes externe, tu n'aurais pas besoin de ce static inutile et ce sera plus propre. Et au passage, un livre de recette peut très bien être un typedef sur vector ou map (si tu as des noms) etc...
En plus clair, je ne vois:
> ni pourquoi Recette dérive d'Ingredient,
> ni pourquoi Recueil est une classe interne à Recette,
> ni pourquoi tu as besoin de ces membres statiques.
Marsh Posté le 28-12-2007 à 22:09:52
Oui je sais, la construction de ces classes est assez crade mais imposée,je n'ai pas le choix
Marsh Posté le 28-12-2007 à 22:51:44
Cyrk13 a écrit : Oui je sais, la construction de ces classes est assez crade mais imposée,je n'ai pas le choix |
stuen blague ?
si c'est pour un vrai job, change de job.
si c'est pour un Tp, change d'école.
En 10s ,
Une Recette AGGREGE des ingredients.
Un Receuil AGGREGE des recettes.
Point d'héritage mais de l'aggrégation (à coup de std::vector ca devrait suffire)
Marsh Posté le 29-12-2007 à 10:25:57
et ton prof te demandes EXPLICITEMENT de faire ça ?
C'est quoi l'école ou la fac ?
Marsh Posté le 29-12-2007 à 10:53:51
la fac, en fait à partir d'un code donné (celui du main) et d'un diagramme UML, on doit deviner tout le reste. Et parmis ce code, il y a la ligne :
Code :
|
Mais je pense que cette construction n'est juste qu'un moyen pour nous confronter à cette difficulté.
Marsh Posté le 29-12-2007 à 10:56:25
il te dise pas de faire du static ?
Receuil::Recueil[i] c'ets juste une notation pr signifier qu'il faut un operator[]
De tte façon, les operator[] ne peuvent pas êtres des membres de classes, juste des memebres d'insatcnes.
Quelle fac ?
Marsh Posté le 29-12-2007 à 11:19:10
L3 Info à Nantes.
Recette::Recueil[i] ==> Recette::Receuil.operator[](i) si je ne me trompe pas et vu que Recueil est une classe et non une instance j'en ai déduit que que la méthode doit être static. Après il y a peut-être un autre moyen mais je trouve pas
Marsh Posté le 29-12-2007 à 14:15:28
Citation : thierry lapresté télécharger |
Ok, je rajoute su rma liste de fac moche
Y a pas moyen [] est forcement membre d'instance.
Une truc débile, rapide qui marche
Code :
|
C'ets qd même pas compliqué ...
Marsh Posté le 31-12-2007 à 15:49:52
Ué merci, c'est sûr que c'est plus cohérent et plus simple mais l'instruction Recette::Recueil[i] ne marchera pas
Marsh Posté le 01-01-2008 à 12:13:56
normal elle a pas de jambes
C'ets quoi le message d'erreur ?
Marsh Posté le 01-01-2008 à 13:47:17
error : `static Recette& Recette::Recueil::operator[] (unsigned int, Recette::Recueil& )' must be a nonstatic member function
Marsh Posté le 01-01-2008 à 14:10:02
tu ecoutes ce que je te dis (et ce que dis ton compialteur apr la même occassion). Tu ne peux pas avori de surcharge d'opertaeur statique.
LA seule solution est celle que je viens de donner.
Marsh Posté le 28-12-2007 à 20:25:19
Hello tout le monde,
je voulais juste savoir comment surcharger l'opérateur [] de manière statique pour je puisse écrire un truc du genre :
Voici le reste du code (qui marche pas juste pour donner l'idée):
Message édité par Cyrk13 le 28-12-2007 à 20:36:08