IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Problème de destructeur


Sujet :

C++

  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    247
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2011
    Messages : 247
    Points : 163
    Points
    163
    Par défaut Problème de destructeur
    Salut!
    Alors je viens de faire un programme qui marche correctement mais fait un gros segmentation fault à la fin, qui disparait quand j'enlève un des destructeurs.
    J'ai quelque chose de ce genre:
    -Une classe A abstraite dont héritent des classes a,b,c
    -Un classe B qui a parmi ses attributs un tableau de pointeurs sur A.

    Le problème vient du destructeur de B. Alors comment je dois l'écrire pour détruire le tableau de A* et l'objet B?

    Merci d'avance pour vos réponses.

  2. #2
    En attente de confirmation mail

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2004
    Messages
    1 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 1 391
    Points : 3 311
    Points
    3 311
    Par défaut
    C'est un tableau C ou un conteneur ? Si c'est un tableau C alors delete[] tab; sinon boucle pour delete (cf FaQ pour la bonne facon de faire).

    Le destructeur de A est bien virtuel ?

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    As tu déclaré des destructeurs virtuel dans ta classe mère ?

  4. #4
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Salut,
    tableau => std::vector.
    pointeur => std::unique_ptr ou std::shared_ptrSi tu as définis le destructeur, c'est qu'il n'est pas trivival ... et que par conséquent tu as redéfinis l'opérateur d'affectation et le constructeur par copie.

    cf F.A.Q Qu'est-ce que la forme canonique orthodoxe de Coplien ?

Discussions similaires

  1. Problème de destructeur
    Par Jean-Pascal dans le forum Langage
    Réponses: 5
    Dernier message: 23/10/2011, 10h07
  2. Problème constructeur destructeur
    Par tom31 dans le forum C++
    Réponses: 5
    Dernier message: 30/01/2011, 14h28
  3. [c#]Destructeur, problème quand je quitte de programme
    Par skysee dans le forum Windows Forms
    Réponses: 28
    Dernier message: 01/06/2008, 23h10
  4. Problème de destructeur avec Dev C++
    Par perpau07 dans le forum C++
    Réponses: 4
    Dernier message: 09/04/2008, 15h32
  5. Problèmes destructeurs + "arbre" de vecteurs
    Par mangobango dans le forum XML
    Réponses: 8
    Dernier message: 04/05/2007, 10h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo