Partage
  • Partager sur Facebook
  • Partager sur Twitter

Appel au destructeur

Par un pointeur

Sujet résolu
    2 septembre 2007 à 21:42:56

    Salut à tous !

    Alors voila j'ai une classe A qui contient un pointeur sur une classe B. Dans une méthode de la classe A on affecte au pointeur une adresse mémoire d'une classe B alouée dynamiquement. Une des méthodes de la classe A, nommé Empty, doit en fait suprimmer SEULEMENT ce sur quoi point le pointeur.

    En bref, est-il possible de faire cela :

    1. void ClassA::Empty()
    2. {
    3.     ptrClassB->~ClassB();
    4.     ptrClassB = NULL;
    5. }


    Ce qui selon moi, permettrait de réinitialiser le pointeur à NULL en supprimant l'ancien objet. J'ai essayé de passer cela dans le débugueur, ça semble être bon mais j'aimerai avoir votre avis.

    Merci d'avance !
    • Partager sur Facebook
    • Partager sur Twitter
      2 septembre 2007 à 21:48:27

      On n'appelle jamais explicitement le destructeur -- sauf si on avait précédemment utilisé un constructeur de placement.
      => delete
      • Partager sur Facebook
      • Partager sur Twitter
      C++: Blog|FAQ C++ dvpz|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS| Bons livres sur le C++| PS: Je ne réponds pas aux questions techniques par MP.

      Appel au destructeur

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown