La question de savoir comment il fonctionne est un élément de FAQ.
En résumant, tandis que la catégorie T
est en cours de construction, le type dynamique est T
, ce qui empêche les appels virtuels de classe dérivée de la fonction implémentations, qui si elle est autorisée pourrait exécuter du code avant l'invariant de classe a été établi (un problème commun en Java et en C#, mais le C++ est sûr à ce sujet).
La question de la façon de faire de la classe dérivée d'initialisation spécifique à un constructeur de classe de base est également un élément de FAQ, directement à la suite de la mentionné précédemment.
En résumant, à l'aide de statique ou dynamique polymorphisme sur peut passer de la fonction correspondante implémentations jusqu'à la base le constructeur de la classe (ou classe).
Une façon particulière de le faire est de passer d'une “usine de pièces d'objet” , où cet argument peut être affichée par défaut. Par exemple, un général, Button
classe peut passer à un bouton de la création de la fonction de l'API jusqu'à son Widget
constructeur de classe de base, de sorte que le constructeur peut créer le bon niveau API objet.