Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1842 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  question heritage et appel de fonctions membres

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

question heritage et appel de fonctions membres

n°738539
cris56
Posté le 25-05-2004 à 21:25:28  profilanswer
 

voila, je bloque sur un truc qui a mon avis est simple
 

Code :
  1. struct FooBase
  2. {
  3.     virtual void bar()
  4.     {
  5.         std::cout << "appel de FooBase::bar\n";
  6.     }
  7. };
  8. struct FooDerived1 : public FooBase
  9. {
  10.     void bar()
  11.     {
  12.         std::cout << "appel de FooDerived1::bar\n";
  13.     }
  14. };
  15. struct FooDerived2 : public FooBase
  16. {
  17.     void bar()
  18.     {
  19.         std::cout << "appel de FooDerived2::bar\n";
  20.     }
  21. };
  22. int main()
  23. {
  24.     std::vector<FooBase> v;
  25.     FooDerived1 f1;
  26.     v.push_back(f1);
  27.     FooDerived2 f2;
  28.     v.push_back(f2);
  29.     ...
  30.     for(std::vector<FooBase>::size_type i=0;i<v.size();i++)
  31.     {
  32.         // comment faire pour appeler FooDerived1::bar si f1,
  33.         // FooDerived2::bar si f2... ?
  34.     }
  35. }


 
en esperant c'est pas trop con  :??:


Message édité par cris56 le 25-05-2004 à 21:27:17
mood
Publicité
Posté le 25-05-2004 à 21:25:28  profilanswer
 

n°738620
Beegee
Posté le 25-05-2004 à 22:21:43  profilanswer
 

bah il doit falloir ne pas implementer bar dans la classe mere deja ...

n°738624
Taz
bisounours-codeur
Posté le 25-05-2004 à 22:27:26  profilanswer
 

non. seulement comme tu travailles par valeur et que tes Derived sont des FooBase, tu as un vector de FooBase et rien d'autres

n°738650
cris56
Posté le 25-05-2004 à 22:37:14  profilanswer
 

comment il faudrait faire alors ? tu ferais comment toi pour decrire ce genre de probleme ?

n°738671
Taz
bisounours-codeur
Posté le 25-05-2004 à 22:45:30  profilanswer
 

avec des pointeurs ou des références, c'est la seule façon de faire du polymorphisme en C++. et n'oublie pas les ~ virtuels

n°738675
cris56
Posté le 25-05-2004 à 22:48:36  profilanswer
 

ok merci, je vais aller voir ca


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  question heritage et appel de fonctions membres

 

Sujets relatifs
Problême espace membres en PHP[C] Pkoi mes fonctions prennent tant de place en mémoire?
[ASP.Net] Question de performance ?fonctions PHP pour ODBC non reconnues
Cherche site repertoriant les fonctions des lib ...question sur les demons
Question sur les JPanel [résolu] + question sur les listeners [résolu]Question sur Apache ?
Héritage d'attributs statiquesfonctions template
Plus de sujets relatifs à : question heritage et appel de fonctions membres


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR