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 :

Exercice de préparation


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de ludo86
    Homme Profil pro
    Développement applications iOS/android
    Inscrit en
    Avril 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développement applications iOS/android
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 93
    Par défaut Exercice de préparation
    Bonjour je faisais des exo pour me conforter dans la compréhension du C++ quand je suis tombé sur ces 2 exos que je n'arrive pas à résoudre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    #include <iostream.h>
    class Machin { public :
    int bidule ;
    Machin(int b) {
    cout << « ++ Machin normal » << endl ;
    bidule = b ;
    }
    ~Machin() { cout << « -- Machin normal » << endl ; }
    } ;
    class Truc { public :
    Machin * machin ;
    Truc(Machin * m) {
    cout << « ++ Truc normal » << endl ;
    machin = m ;
    }
    ~Truc() {
    cout << « -- Truc normal » << endl ;
    if (machin != NULL) delete machin ;
    machin = NULL ;
    }
    } ;
    void main() {
    Machin m(1) ;
    Truc x(&m);
    }
    Le programme plante et le pb se situe au niveau du destructeur de Truc qui va allé dans le destructeur de machin et juste en sortant du destructeur de machin il plante.

    Le pourquoi, je pense le connaitre.En effet, il supprime truc mais aussi machin donc quand le destructeur de machin essaye de détruire machin il tombe sur du vide.Me suis je tromper. Comment parer le problème?

    Le deuxième problème vient de ce bout de code :
    g++ ne compile pas le programme C++ suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    class Poule { public :
    Oeuf * monOeuf ;
    void maMethode() { ; }
    } ;
    class Oeuf { public :
    Poule * maPoule ;
    void maMethode() { ; }
    } ;
    void main() {
    Poule * p = new Poule(); Oeuf * o = new Oeuf();
    p->monOeuf = o; o->maPoule = p;
    p->maMethode(); o->maMethode();
    }
    Pourquoi ? Rajouter l’instruction convenable pour qu’il soit compilable par g++.
    Alors la je vois pas du tout le problème.

    Merci d'avance pour tout explication et résolution.

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 125
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (machin != NULL) delete machin ;
    si tu veux faire un delete il faut avoir fait un new
    un delete sur un objet alloué sur la pile ca fait mal

    tu utilises un objet oeuf avant d'avoir declaré l'objet
    mets au debut:

  3. #3
    Membre confirmé Avatar de ludo86
    Homme Profil pro
    Développement applications iOS/android
    Inscrit en
    Avril 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développement applications iOS/android
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 93
    Par défaut
    Ok merci pour ton aide!!! ça marche.

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

Discussions similaires

  1. [Modèle Relationnel] Exercices Algebre relationnelle (préparation a l'exam)
    Par m-h-m-d dans le forum Schéma
    Réponses: 1
    Dernier message: 05/02/2010, 01h06
  2. Un cours de C/C++ avec exercices corrigés
    Par merrheim dans le forum C++
    Réponses: 65
    Dernier message: 18/01/2005, 22h30
  3. Choix d'un SGBDR pour la préparation d'un cours
    Par jcontami dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 21/09/2004, 16h40
  4. Pages d'exercices à faire pour l'autoformation ?
    Par [thebadskull] dans le forum Evolutions du club
    Réponses: 13
    Dernier message: 15/06/2004, 20h26
  5. Pouvez vous m'aider a resoudres ces 3 exercices
    Par algorithmique dans le forum Algorithmes et structures de données
    Réponses: 11
    Dernier message: 09/08/2002, 17h26

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