Partage
  • Partager sur Facebook
  • Partager sur Twitter

problème avec la separation des classes dans des .h et .cpp

    8 mai 2008 à 20:54:47

    Salut amis zeros... bon voilà, j'ai voulu séparer ma class de mon corps principal mais ça m'envoie une erreur que je ne comprends pas.

    voici classmenu.cpp

    #include "classmenu.h"
    
    using namespace std;
    
    Menu::Menu()
    {
    fond = IMG_Load("fond.jpg");
    }
    
    void Menu::afficher(SDL_Surface *ecran)
    {
        SDL_BlitSurface(fond, NULL, ecran, &positionFond);
    }
    
    
    
    Menu::~Menu()
    {
        SDL_FreeSurface(fond);
    }
    


    voici class menu.h

    #ifndef DEF_PERSONNAGE
    #define DEF_PERSONNAGE
    #include <SDL/SDL.h>
    #include <SDL/SDL_image.h>
    class Menu
    {
        public:
    
        Menu()
        {
        fond = IMG_Load("fond.jpg");
        positionFond.x = 0;
        positionFond.y = 0;
        }
    
        void afficher(SDL_Surface *ecran)
        {
            SDL_BlitSurface(fond, NULL, ecran, &positionFond);
        }
    
        ~Menu()
        {
            SDL_FreeSurface(fond);
        }
    
    
        private:
    
        SDL_Surface *fond;
        SDL_Rect positionFond;
        int vie;
        int nombre_vies;
        int score;
    };
    
    #endif
    


    j'ai été obligé d'ajouter #include <SDL/SDL.H> et #include <SDL/SDL_Image.h> sinon ça ne marchait pas

    merci d'avance pour vos conseils d'experts ;)
    • Partager sur Facebook
    • Partager sur Twitter
      8 mai 2008 à 21:00:35

      vas relire le tuto (dsl d'etre aussi sec, mais apparament tu n'a rien compris à la separation .hpp/.cpp)

      ps: le nom des anti-inclusions
      • Partager sur Facebook
      • Partager sur Twitter
        8 mai 2008 à 21:44:55

        ok je relis et je te dis quoi .. faut dire que je suis passé assez vite sur la partie des headers.
        • Partager sur Facebook
        • Partager sur Twitter
          9 mai 2008 à 22:18:48

          Tu as le contenu des fonctions 2 fois. Supprime le dans le fichier .h ;
          remplace
          ~Menu()
          {
          SDL_FreeSurface(fond);
          }
          par
          ~Menu();

          Et indique l'erreur affichée stp !
          (ca pourrait nous etre utile pour t'aider ^^)
          • Partager sur Facebook
          • Partager sur Twitter
          Anonyme
            10 mai 2008 à 11:08:25

            Citation : natlantisprog

            #ifndef DEF_PERSONNAGE
            #define DEF_PERSONNAGE
            [...]
            class Menu
            [...]
            #endif
            
            ça sent le copié collé. :p

            "007" t'indique bien ce que tu dois faire.
            Cf http://www.siteduzero.com/tuto-3-14095 [...] tml#ss_part_3 .
            • Partager sur Facebook
            • Partager sur Twitter

            problème avec la separation des classes dans des .h et .cpp

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown