Bonjour,
Je suis à la recherche de la bonne formulation. J'ai pu écrire ceci qui fonctionne:
Mais j'aimerais pouvoir faire là même chose sans que ma fonction dans la classe B ne soit statique. C'est à dire quelque chose qui pourrait ressembler à ceci (qui ne marche pas):
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 A { public: A() {} ~A() {} void run() { result = (*ptr)(); } protected: bool result; bool (*ptr)(); }; class B: public A { public: B() { ptr = &myFunction; } ~B() {} static bool myFunction() { return true; } }; int main() { A* p = new B(); p->run(); return 0; }
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 A { public: A() {} ~A() {} void run() { result = (*ptr)(); } protected: bool result; bool (A::* ptr)(); }; class B: public A { public: B() { ptr = &myFunction; } ~B() {} bool myFunction() { return true; } }; int main() { A* p = new B(); p->run(); return 0; }
Auriez-vous comme toujours une bonne idée en stock ?
Caduchon.
Partager