J'ai surmonté un problème, je pense un très spécifique.méthodes virtuelles et classes de modèles
J'ai 2 classes, un B aseclass et D classe irées (de B aseclass). B est une classe de modèle (ou modèle de classe) et sa méthode virtuelle purevirtual void work(const T &dummy) = 0;
Le D classe irées est censé ré-écrire, mais comme D est dérivé d'B plutôt que D étant une autre classe de modèle, le compilateur me crache que les fonctions virtuelles et les modèles ne fonctionnent pas à la fois.
Des idées pour accomplir ce que je veux?
Je suis thankfull pour toutes les pensées et les idées, surtout si vous allready travaillé sur ce problème
cette classe est fixé alias AS IS, je ne peux pas modifier cela sans casser la base de code existant
template <typename T>
class B {
public:
...
virtual void work(const T &dummy) = 0;
..
};
prendre int * comme un exemple
class D : public B<int*>{
...
virtual void work(const int* &dummy){ /* put work code here */ }
..
};
Edit: Le compilateur me dit que void B<T>::work(const T&)
[with T = int*]
est p ure virtuel dans D
Lisez ici pourquoi il ne fonctionne toujours pas pour moi (comme essayé avec les classes Qt), défaut de conception Qt ... http://lists.trolltech.com/qt-interest/2006 -02/thread00693-0.html – drahnr
et voir ici http://doc.trolltech.com/qq/qq15-academic.html à la fin je dois utiliser vieux mal void * au lieu de modèles ... – drahnr