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 :

Struct et classes


Sujet :

C++

  1. #1
    Membre �prouv�
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 766
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 766
    Par d�faut Struct et classes
    Hello,

    Je d�finis une structure et une classe dans le fichier dudule.h comme suit :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    struct Pouet
    {
    int champ1;
    charf champ2;
    ...
    }
     
    class Dudule
    {
    ...
    Pouet mPouetInstance;
    ...
    }
    Dans le fichier dudule.cpp, j'aimerais utiliser mPouetInstance dans une des m�thodes :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    #include "dudule.h"
     
    Dudule::fonction(...)
    {
    ...
    int entier = mPouetInstance.champ1;
    ...
    }
    Mais �a ne fonctionne pas. mPouetInstance n'est pas reconnu comme une structure. Pourquoi ?

    Je crois que j'ai oubli� quelques fondamentaux. :-)

    Merci !

  2. #2
    Membre Expert
    Homme Profil pro
    edi
    Inscrit en
    Juin 2007
    Messages
    941
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : edi

    Informations forums :
    Inscription : Juin 2007
    Messages : 941
    Par d�faut
    Il manque des ; � la fin de tes d�clarations, mais je suppose que c'est que tu as oubli� de les retranscrire dans ton post. Sinon, avec ce code je ne vois pas ce qui peut bloquer, �a se situe sans-doute autre-part.

    Si ta structure Pouet est tr�s fortement li�e � ta classe dudule, tu peux la d�clarer au sein de ta classe, afin d'en limiter la port�e :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    class dudule
    {
        public:
        struct pouet { ... };
     
        private:
        pouet Instance;
    };
    Si tu as besoin de l'utiliser � l'ext�rieur :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    dudule::pouet instance_externe; // Résolution de portée pour chercher 'pouet' dans 'dudule'

  3. #3
    Expert confirm�
    Avatar de Mat.M
    Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 539
    D�tails du profil
    Informations personnelles :
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 539
    Par d�faut
    Cela fonctionne parfaitement sous VC++ 6
    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
     
    //.....................fichier .h
     
    struct Pouet
    {
    int champ1;
    int champ2;
     
    };
     
    class Dudule
    {
    void Fonction();
     
    Pouet mPouetInstance;
    };
     
    //.....................fichier .cpp
    void Dudule::Fonction()
    {
    mPouetInstance.champ1 =10;
     
    }

  4. #4
    Membre �prouv�
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 766
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 766
    Par d�faut
    Oui, mais non... Il manquait un l�ger d�tail...

    La fonction utilisatrice �tait d�clar�e en static.

    D�sol� de vous avoir fait perdre du temps.

    Mais il faut avouer que le message du compilateur n'�clairait pas beaucoup :

    1>t:\svn\arnold\mtoa\src\core\callback.cpp(41) : error C2228: la partie gauche de '.finished' doit avoir un class/struct/union

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Passer de struct (C) � class (JAVA)
    Par rtg57 dans le forum Langage
    R�ponses: 8
    Dernier message: 01/05/2010, 22h50
  2. [D�butant] Struct v Class !
    Par F.Saad dans le forum C#
    R�ponses: 3
    Dernier message: 27/07/2009, 12h21
  3. diff entre struct et class
    Par camboui dans le forum C++
    R�ponses: 7
    Dernier message: 02/03/2009, 18h53
  4. struct et class
    Par zais_ethael dans le forum C++
    R�ponses: 17
    Dernier message: 11/03/2008, 19h17
  5. Struct ou classe ?
    Par Fl0r3nt dans le forum C++
    R�ponses: 8
    Dernier message: 27/06/2007, 11h27

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