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 :

probleme de destructeur


Sujet :

C++

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Février 2006
    Messages : 134
    Par défaut probleme de destructeur
    j ai une classe voiture avec constructeur et destructeur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    //constructeur
    Voiture v("2020jh33",125600,"citroen);
    l.push_front(v)
    //destructeur
    v.~Voiture;
    Voiture v("1245ff33",7820,"citroen);
    => error redeclaration of Voiture v.

    Je ne comprend pas pourquoi l'objet v ayant été detruit je ne pourais en redeclarer un de ce nom ? Je n'ai pas dut bien comprendre le role du destructeur.

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    1/ Il ne faut jamais (sauf cas particulier) appeler un destructeur explicitement, puisque celui-ci sera appelé automatiquement lorsque l'objet sera détruit. Tu ne peux pas détruire ton objet manuellement, il le sera lorsqu'il arrivera en fin de portée.

    2/ Ton problème n'a rien à voir avec le comportement qu'aura le programme à l'execution (ie. que voiture sera détruit au moment où le suivant sera créé), il s'agit simplement d'un conflit de nommage : tu as deux variables ayant le même nom dans la même portée, le compilo ne peut pas s'en sortir.

  3. #3
    r0d
    r0d est déconnecté
    Membre expérimenté

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 4 290
    Billets dans le blog
    2
    Par défaut
    Le problème ne vient pas du destructeur, mais de la portée de ta variable.
    Tant que tu es dans le même bloc, tu n'a pas le droit de déclarer plusieurs fois la même variable, point barre. C'est purement syntaxique, le rôle du destructeur n'a rien à voir.

    [edit] argh!!encore grillé!! [/edit]

  4. #4
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Par ailleurs tu peux simplifier la chose :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    l.push_front(Voiture("2020jh33",125600,"citroen));
    l.push_front(Voiture("1245ff33",7820,"citroen));
    ...

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Février 2006
    Messages : 134
    Par défaut
    Ok Merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Probleme de destructeur
    Par karim&thomas dans le forum C++
    Réponses: 4
    Dernier message: 29/05/2008, 14h18
  2. [MFC] probleme sur le destructeur
    Par sebpsi dans le forum MFC
    Réponses: 3
    Dernier message: 04/04/2008, 15h48
  3. probleme sur destructeur virtuel
    Par exhortae dans le forum C++
    Réponses: 5
    Dernier message: 01/03/2008, 07h32
  4. probleme destructeur
    Par cilies38 dans le forum Langage
    Réponses: 5
    Dernier message: 14/03/2006, 18h07
  5. probleme de delete dans un destructeur
    Par Chewbi dans le forum C++
    Réponses: 6
    Dernier message: 12/03/2006, 00h29

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