i ont quelque chose comme çaMéthode héritée avec différents types
class A {
virtual void doBla(A *a) = 0;
};
class B : public A {
virtual void doBla(B *b) { // do stuff ;};
};
et je veux faire quelque chose comme
A* a = new B();
B* b = new B();
a->doBla(b);
ou: tous les enfants de A sont censés avoir une méthode Dobla qui prend paramètre du type de l'enfant. Espérons que vous obtenez mon problème et nous espérons que quelqu'un peut me aider ou me convaincre que c'est mauvais style :)
modifier: ajoutée virtuelle aux méthodes
Vous devez faire doBla virtuel en A. –
@Neil: Je ne crois pas que cela aidera dans ce cas. Je pense que le PO a besoin de types de paramètres covariants, qui ne sont apparemment pas supportés en C++ (voir http://en.wikipedia.org/wiki/Covariance_and_contravariance_%28computer_science%29#C.2B.2B). – David
@Neil: désolé, oubliez que ... thx – Dirk