Ce qui est l’utilisation de having destructeur comme privé ?
Réponses
Trop de publicités?En gros, tout le temps de vous en voulez d'autres de la classe à être responsable pour le cycle de vie de votre classe d'objets, ou vous avez une raison pour empêcher la destruction d'un objet, vous pouvez faire le destructeur privé.
Par exemple, si vous êtes en train de faire une sorte de comptage de référence, on peut avoir l'objet (ou le gestionnaire qui a été "ami"ed) chargés de compter le nombre de références à lui-même et de le supprimer lorsque le nombre atteint zéro. Un privé dtor empêcherait quelqu'un d'autre de le supprimer quand il y avait encore des références.
Pour un autre exemple, que faire si vous avez un objet qui a un manager (ou lui-même) qui peut détruire ou peut refuser de le détruire, selon les autres conditions du programme, tels qu'une connexion de base de données puisse être ouverte ou un fichier en cours d'écriture. Vous pourriez avoir un "request_delete" de la méthode dans la classe ou le gestionnaire, vérification de cette condition et de supprimer ou de ou de la refuser, et de retour à un état de vous dire ce qu'il a fait. Ce qui est bien plus souple que tout le qualifiant de "supprimer".
Lorsque vous ne voulez pas aux utilisateurs d’accéder le destructeur, par exemple, vous souhaitez que l’objet seulement soient détruits par d’autres moyens.
http://blogs.msdn.com/larryosterman/Archive/2005/07/01/434684.aspx donne un exemple, où l’objet est compté et devraient seulement être détruits par l’objet lui-même lorsque le compte passe à zéro.