Voila, j'ai une classe abstraite qui utilise un objet qui ne peut être initialise que dans des classes concrètes qui vont implémenter cette classe abstraite.
Cela me donne :
Ce qui me gène c'est que w est initialise une première fois lorsque le ctor de Concret appelle celui de Abstract puis une seconde fois explicitement.
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 Abstract { public: Abstract(...) { ... } protected: Widget w; }; class Concret : public Abstract { public: Concret() : Abstract(...), w(...) { ... } };
Cette me conception me semble douteuse.
Que préconiserez vous dans un tel cas, ie lorsque j'ai un attribut w dont une classe mère se sert mais qui ne peut être initialise que dans une classe fille concrète ?
Partager