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 :

Pointeurs de classes et m�thodes


Sujet :

C++

  1. #1
    Membre tr�s actif
    Inscrit en
    Septembre 2005
    Messages
    139
    D�tails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 139
    Par d�faut Pointeurs de classes et m�thodes
    Bonjour.

    J'ai un l�ger probl�me concernant les pointeurs de classes et leurs m�thodes.
    Je voudrais que ma classe C_Case contiennent une pointeur sur la classe SDL_Event. Et pouvoir utiliser les m�thodes de la classe SDL_Event � partir de ce pointeur. Comment faire ?

    Merci d'avance

  2. #2
    r0d
    r0d est d�connect�
    Membre exp�riment�

    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2004
    Messages
    4 299
    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 299
    Billets dans le blog
    2
    Par d�faut
    Salut,

    si tu souhaites utiliser simplement les m�thodes publiques de SDL_event, il te suffit d'utiliser une instance de SDL_Event dans ta classe C_Case. Mais j'ai bien peur qu'en fait, tu n'en aies m�me pas besoin. Voir http://tastalian.free.fr/cours.php?part=SDL&index=5

  3. #3
    R�dacteur

    Avatar de Matthieu Brucher
    Profil pro
    D�veloppeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    D�tails du profil
    Informations personnelles :
    �ge : 43
    Localisation : France, Pyr�n�es Atlantiques (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810

  4. #4
    Membre tr�s actif
    Inscrit en
    Septembre 2005
    Messages
    139
    D�tails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 139
    Par d�faut
    Non non, en fait, j'ai cr�er une classe que j'ai appeler SDL_Event, utilisant les �venements SDL mais de mani�re plus simple.

    Ainsi, je le d�clare dans le main, et je voudrais la r�utiliser dans toutes mes classes, sans en faire une copie, en utilisant la meme que celle d�clar�e dans le main.

    Comment-faire ?

  5. #5
    R�dacteur

    Avatar de Matthieu Brucher
    Profil pro
    D�veloppeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    D�tails du profil
    Informations personnelles :
    �ge : 43
    Localisation : France, Pyr�n�es Atlantiques (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par d�faut
    Faudrait nous donner plus d'info, l� je ne vois pas ce que tu veux.

  6. #6
    Membre tr�s actif
    Inscrit en
    Septembre 2005
    Messages
    139
    D�tails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 139
    Par d�faut
    Bon, dans le main, je d�clare la classe SDL_Event Event.

    Je pourrais utiliser cette classe en la d�clarant simplement dans C_Case, mais malheuresement, la gestion des �venements avec SDL ne me le permet pas. Mais l� n'est pas la question.

    Je voudrais donc, utiliser directement la classe SDL_Event d�clar�e dans le main. Donc j'avais penser aux pointeurs, pour toucher � la classe Event du main, mais je ne voie pas comment faire.

    Si vous ne comprenez toujours pas, je posterai quelquels morceaux de code.

  7. #7
    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
    Je ne sais pas si j'ai bien compris ce que tu veux, mais tu peux passer un pointeur (ou une r�f�rence) sur ton instance de SDL_Event au constructeur de toute classe en ayant besoin.

  8. #8
    Membre tr�s actif
    Inscrit en
    Septembre 2005
    Messages
    139
    D�tails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 139
    Par d�faut
    Bon, voila du code :

    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
     class C_Case
    {
    private:
        SDL_Event *Events;
     
    public:
     
        // Constructeur.
        C_Case(SDL_Event &Event);
     
        // Destructeur.
        ~C_Case();
     
        //Clic sur une case
        int Clic();
    };
     
    #endif

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    C_Case::C_Case(SDL_Event &Event)
    {
        Events = &Event;
    }
    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
    int C_Case::Clic()
    {
        if (Events->GetButton(SDL_BUTTON_LEFT) == SDL_MOUSEBUTTONDOWN)
        {
            if (Events->GetMouseX() > affich_x+4
                    && Events->GetMouseX() < affich_x + 36
                    && Events->GetMouseY() > affich_y+4
                    && Events->GetMouseY() < affich_y + 20)
            {
                    return 3;
            }
                else
                    return 2;  // Souris sur le sprite mais pas de clic
        }
            else
                return 0;   // Souris non sur le sprite
        if (Events->GetButton(SDL_BUTTON_LEFT) == SDL_MOUSEBUTTONUP)
        {
            if (Events->GetMouseX() > affich_x+4
                    && Events->GetMouseX() < affich_x + 36
                    && Events->GetMouseY() > affich_y+4
                    && Events->GetMouseY() < affich_y + 20)
            {
                return 1;   // Clic sur le sprite
            }
            else
                return 0;   // Clic, mais pas sur le sprite
        }
    }
    Et voila les erreurs que me donne Code::Blocks :

    union "SDL_Event" has no member named 'GetButton'
    union "SDL_Event" has no member named 'GetMouseX"

    ect ect...

    Ou est donc mon erreur ?? Je pr�cise que je suis sur que SDL_Event � des membres publics appel�s GetButton et GetMouseX...

  9. #9
    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
    En m�me temps, appeler une classe perso SDL_Event tout en utilisant la SDL, ce n'est pas tr�s malin... Comment le compilo pourrait-il faire la diff�rence avec la structure SDL_Event de la SDL ?

    Indice qui te permet de voir qu'il cherche dans la structure SDL_Event de la SDL (qui est une union) et non dans ta classe :

    union "SDL_Event" has no member named 'GetButton'

  10. #10
    Membre tr�s actif
    Inscrit en
    Septembre 2005
    Messages
    139
    D�tails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 139
    Par d�faut
    Ah, c'�tait une erreur b�te... Car ma classe s'apelle SDL_Events...


    Bon, ben merci, probl�me r�gl�

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

Discussions similaires

  1. [Win32] Pointeur sur fonctions et m�thodes de classe
    Par Invit� dans le forum Langage
    R�ponses: 4
    Dernier message: 13/09/2007, 19h07
  2. polymorphisme, pointeurs et classes abstraites
    Par legend666 dans le forum C++
    R�ponses: 10
    Dernier message: 02/11/2005, 16h44
  3. D�claration de classes et m�thodes externes
    Par rulianf dans le forum C++
    R�ponses: 6
    Dernier message: 15/09/2005, 15h26
  4. R�ponses: 3
    Dernier message: 24/04/2005, 14h19
  5. [C#] Pointeur de classe
    Par papouAlain dans le forum Windows Forms
    R�ponses: 6
    Dernier message: 06/01/2005, 12h32

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