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 d'affichage :s


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 76
    Par défaut Probleme d'affichage :s
    Bonjour a tous et a toute, je débute dans le C++ et j'ai un souci qui m'embête drôlement,
    En effet j'ai un travail a rendre et je suis bloquer car je n'arrive pas a afficher une variable

    J'ai conçu un tout petit morceau de code où figure le même problème que dans mon code.

    C'est a dire que je déclare un char* et lorsque je fais appel au constructeur soit ca plante, soit ca m'affiche le chemin de l'exécutable.


    Voici le code qui comporte le problème similaire au mien:

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
     
    #include <cstdlib>
    #include <iostream>
    #include <string>
    using namespace std;
     
     
    class Personne
    {
        private:
     
            char* nom;
            int age;
     
        public:
     
            Personne (char* nom, int _age);
            int getAge();
            int setAge(int = 0);
            void afficher();
    };
     
     
    Personne::Personne(char* nom, int _age)
    {}
     
    int Personne::getAge()
    {
        return age;
    }
     
    int Personne:: setAge(int _age)
    {
        age = _age;
    }
     
    void Personne::afficher()
    {
        cout << "La personne a " << age << " ans et s'appelle " << nom << endl;
    }
     
     
     
    int main(int argc, char *argv[])
    {
     
        Personne p1("bidule", 20);
        p1.afficher();
     
     
        system("PAUSE");
        return EXIT_SUCCESS;
    }

    Alors je pense que c'est a ce niveau qu'il y a une faute
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Personne::Personne(char* nom, int _age)
    {}
    Mais j'aimerais bien une ou deux explications et aussi une petite correction.

    Merci a tous ceux qui liront mon problème.

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Ton constructeur n'initialise pas les variables membres.
    En le faisant comme ceci (une liste d'initialisation), ça devrait aller:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Personne::Personne(char* nom, int _age)
     : nom(nom), age(_age)
    {}
    De plus, tu devrais remplacer tes char* par des const char*
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 76
    Par défaut
    merci beaucoup !!! c'est ce qu'il me manquait !

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    780
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 780
    Par défaut
    tu devrais surtout remplacer tes char* par des std::string, parce que si tu continues à faire des classes de la même façon, tu vas avoir de drôles de problèmes dans tes projets.

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

Discussions similaires

  1. [VB.NET] Probleme d'affichage entre ListBox/TextBox
    Par Monster77 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 03/08/2004, 11h02
  2. [VB.NET] Probleme d'affichage de controle
    Par mic56 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 09/06/2004, 15h03
  3. xml-xsl-fo : probleme d'affichage d'un tableau
    Par clindoeil dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 12/12/2003, 12h46
  4. [langage] Problème d'affichage
    Par marcoss dans le forum Langage
    Réponses: 3
    Dernier message: 29/08/2003, 13h05
  5. IE [Applet] Plug-in problème d'affichage
    Par Tonton Luc dans le forum JBuilder
    Réponses: 4
    Dernier message: 19/06/2003, 08h28

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