Bonjour Tout le monde,
j'ai un problem que je n'arrive pas a resoudre, je voudrai appeler la methode "overrided" de la classe derivée depuis la classe de base :
dans ce code j'obtient toujour le go() de la classe Base, ce que je veux c'est avoir le run() de la classe Derived, est-ce que c'est possible ?
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
18
19
20
21
22
23
24
25
26
27 class Base{ public: void start(){ new thread(boost::bind(&Base::run, this)); } void go(){ // do something } } class Derived : public Base { public: void go(){ //do something different } } int main(int argc, char** argv){ Derived* der = new Derived(); der->start(); return 0; }
apparement c'est le boost bind qui pose probleme, vue que je lui passe Base::run en argument,
merci d'avance pour votre aide.
Cdlt
Partager