Bonsoir,
Une petite question concernant la programmation par policies, et notamment sur l'utilisation des templates.

Si l'on considère la déclaration suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
template <class Policy>
class MyClass;
Dans laquelle MyClass fait appel à des méthodes de Policy, mais n'en dérive pas (cas dans lequel l'utilisatino des templates est incontournable). Quel est l'avantage par rapport à une méthode de ce style :

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
 
 
class Policy;
 
class MyPolicy : public Policy {
/...
};
 
class MyClass {
 
    public:
        explicit MyClass(Policy policy): p_policy(policy) {}
 
    private:
        Policy* p_policy;
};
Où MyClass pourrait alors appeler les méthodes de son membre p_policy, le comportement étant ensuite déterminé par le polymorphisme.

Merci d'avance.