Un constructeur est appelé chaque fois qu'un objet de la classe est crée : un objet est crée dans plusieurs cas:
new
Les constructeurs ne peuvent pas s'hériter (pour des raisons évidentes: la classe dérivée peut avoir des données membres supplémentaires...) ni être virtuels ni être statiques.
Un constructeur par défaut est un constructeur qui peut être appelé sans argument (mais éventuellement avec des arguments par défaut).