pb virtual [C++] - C++ - Programmation
Marsh Posté le 20-01-2005 à 20:59:18
qu'est-ce que tu branles avec des classes et des instances avec le même nom ?
Marsh Posté le 20-01-2005 à 21:18:01
Taz a écrit : qu'est-ce que tu branles avec des classes et des instances avec le même nom ? |
exacte mais ceci n'est qu'un exemple, le a je l'ai pris au hasard ...
Voici une meilleur explication (enfin je pense)
Code :
|
Marsh Posté le 20-01-2005 à 21:24:34
Taz a écrit : et alors ? c'est ça le polymorphisme |
le probleme c'est que pannel2 ne fait pas appel à la bonne methode je pense
Marsh Posté le 20-01-2005 à 21:28:39
didier1809 a écrit : le probleme c'est que pannel2 ne fait pas appel à la bonne methode je pense |
ouais voila c'est ca
Marsh Posté le 20-01-2005 à 21:31:54
ReplyMarsh Posté le 20-01-2005 à 21:35:25
didier1809 a écrit : et en mettant des virtual partout ? |
La methode de barbare
deja essayé et cela ne fonctionne pas
Marsh Posté le 20-01-2005 à 21:36:26
ffomnislash a écrit : La methode de barbare |
d'ou le smiley
j'ai pas assez de connaissances pour t'aider, dsl
Marsh Posté le 20-01-2005 à 21:40:07
bon écoute, file du code compilable, parce que là on nage dans tes erreurs et des exemples foireux.
Marsh Posté le 20-01-2005 à 21:41:00
sinon y a pas à tortiller : là ou tu penses que ça foire, regarde le type réel de l'object (typeid / dynamic_cast) et là tu verras ce qu'il se passe
Marsh Posté le 20-01-2005 à 22:02:31
c'est pas une erreur de redéfinir deux fois virtual la même méthode ? une fois suffit dans la classe mère non ? sous gcc ça change rien apparement mais
Marsh Posté le 20-01-2005 à 22:24:33
push a écrit : c'est pas une erreur de redéfinir deux fois virtual la même méthode ? une fois suffit dans la classe mère non ? sous gcc ça change rien apparement mais |
virtuel un jour, virtuel toujours !
Marsh Posté le 20-01-2005 à 22:28:43
Un intru s'est glissé dans ces propositions. Sauras-tu le retrouver ?
1. star d'un jour, star toujours !
2. const un jour, const toujours !
3. static un jour, static toujours !
4. private un jour, private toujours !
Marsh Posté le 20-01-2005 à 20:51:29
J'ai un petit pb avec mes classes
j'ai un une pointeur p de type 'a'.
si p pointe une instance a
a.aff() = a::aff();
si p pointe une instance b
a.aff() = b::aff();
Le probleme est ici, je voudrais c::aff();
si p pointe une instance c
a.aff() = b::aff();
si p pointe une instance d
a.aff() = d::aff();
C'est normal que cela ne fonctionne pas?
Une solution?