Bonjour, j'ai une erreur dans mon code que je n'arrive pas à résoudre, je sais d'ou elle vient. En fait, je ne sais pas si ce que je cherche à faire est faisable.
Pour faire simple j'ai une classe de base Base et une classe dérivée de la classe Base, la classe Derivee.
Donc, l'erreur vient de l'appel à la fonction fonction2(), cette fonction est virtuelle pure dans la classe de base, elle est définie dans la classe dérivée (évidemment, dans mon code j'ai plusieurs classes dérivées). L'erreur est générée au linkage, j'ai une erreur indéfinie sur fonction2().
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 class Base { public: void fonction1() { fonction2(); // erreur ici }; private: virtual void fonction2() const = 0; }; class Derivee : public Base { public: void fonction2() const { cout << "lalala" << endl; }; };
Je cherche à appeler la fonction2() qui est membre de la classe Derivee, mais cet appel est réalisé dans la classe Base, est-ce faisable ? Ou sinon, comment faire quelque chose de semblable autrement ? J'ai regardé du côté des dynamic_cast et typeid() mais ça ne m'apporte pas grand chose.
Merci.
Bouba
Partager