Je vous soumets ce petit bout de code épuré pour avoir votre avis sur ma façon de faire une interface à un de mes modules.

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
28
29
30
31
32
33
34
35
// Classes du module
struct A
{
    void f(){}
};
 
struct B
{
    void g(){}
};
 
// Classe interface
class IAB
{
    private:
        struct A& a;
        struct B& b;
 
    public:
        IAB(A& aa, B& bb) : a(aa), b(bb) {}
 
        void do_thing() { a.f(); }
        void do_another_thing() { b.g(); }
};
 
// Exemple d'utilisation
int main()
{
    A a;
    B b;
    IAB interface(a, b);
 
    interface.do_thing();
    interface.do_another_thing();
}
N'hésitez à me dire si on peut mieux faire.
Merci,