Re: problème de surcharge
Citation:
Envoyé par bountykiller
Code:
A* obj = create_obj(int blabla);//renvoie soit un B*, soit un C*
Quel est le prototype de create_obj ? Elle ne peut pas renvoyer soit un B*, soit un C*. D'après la suite, je suppose qu'elle renvoie un A*. Donc quand tu fait:
obj étant un A*, on appelle forcément la fonction process(A*).
Va appeler la fonction process(B*). Mais cette façon de faire n'est pas très rigoureuse. Le mieux dans ce cas serait de définir la fonction process en virtuel dans la classe A (surchargée dans B et C), puis: