begin process at 2012 02 10 13:34:11
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Débutant(e)

 > 

Probleme avec un simple héritage....


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Probleme avec un simple héritage....

samedi 13 décembre 2008 à 10:48:48 | Probleme avec un simple héritage....

manta7

Bonjour, j'ai un petit souci avec un simple héritage :

J'ai une classe Ant :

Ant.cpp :

#include "Ant.h"
Ant::Ant() {
    mouvement->set_direction(0);
}
Ant::~Ant() {
}

Ant.h :

#ifndef ANT_H_
#define ANT_H_

#include "Mouvement.h"
#include <QGraphicsItem>
#include <QPainter>
#include <QObject>

using namespace std;

class Ant : public QObject, public QGraphicsItem {
    Q_OBJECT
public:
    Ant();
    virtual ~Ant();
    Mouvement *mouvement;
};
#endif /* Ant_H_ */

Et une classe Mouvement censé s'occuper des déplacements :

Mouvement.cpp :

#include "Mouvement.h"
Mouvement::Mouvement() {
}
Mouvement::~Mouvement() {
}

Mouvement.h :

#ifndef MOUVEMENT_H_
#define MOUVEMENT_H_

#include "Ant.h"

class Mouvement : public Ant { //La je fais l'héritage
public:
    Mouvement();
    virtual ~Mouvement();
};

#endif /* MOUVEMENT_H_ */

Et la ça ne compile pas et il me met une erreur dans Mouvement.h à la ligne :
class Mouvement : public Ant {
L'erreur est :
erreur: expected class-name before «{» token

Je pouvais pourtant pas faire un héritage plus simple... je vois pas d'ou vient l'erreur

samedi 13 décembre 2008 à 12:33:47 | Re : Probleme avec un simple héritage....

manta7

Personne n'a d'idée... ? :(
samedi 13 décembre 2008 à 14:05:17 | Re : Probleme avec un simple héritage....

goodboy21

essai d'enlever ton <#include "Mouvement.h"> dans ton ant.h
 car tu as un< #include "ant.h"> dans ton Mouvement.h,
tu fais une inclusion circulaire là
samedi 13 décembre 2008 à 14:12:51 | Re : Probleme avec un simple héritage....

manta7

Ok ..mais si je fais ça comment de la classe Ant je peux avoir acces aux données de Mouvement ??
samedi 13 décembre 2008 à 15:05:22 | Re : Probleme avec un simple héritage....

goodboy21

on fait tes classes sont imbriquées l'une dans l'autres c'est pas une bonne méthode,
ce que tu pe faire meme c'est pas tres élégant c'est déclarer
Mouvement de type DWORD dans ant.h et afin d'éviter à include  Mouvement.h
ant.h :
class Ant : public QObject, public QGraphicsItem {
    Q_OBJECT
public:
    Ant();
    virtual ~Ant();
    DWORD mouvement;
};

et dans ant.cpp
tu inclus Mouvement.h

Ant::Ant() {
  Mouvement*_tmp=new Mouvement();
  mouvement=(DWORD)_tmp;
// pour utiliser ton mouvement il faudra faire un cast ,par exemple

((Mouvement*)mouvement)->set_direction(0);
  
}
Ant::~Ant() {
Mouvement*_tmp=(Mouvement*)mouvement;
delete _tmp;
}

petit conseil des classes qui s'imbriquent l'une dans l'autre n'est pas une architecture.
samedi 13 décembre 2008 à 15:14:33 | Re : Probleme avec un simple héritage....

goodboy21

je vien de regarder ton code de plus près et ton héritage n'est pas bon du tout, si Mouvement hérite de Ant tu n'as pas à déclarer Mouvement dans Ant .Puisque Mouvement est aussi un Ant "héritage".
explique ce que tu ve faire pour puisse t'aider


Cette discussion est classée dans : simple, include, mouvement, héritage, ant


Répondre à ce message

Sujets en rapport avec ce message

Problème d'héritage [ par Forthian ] Et oui encore un soucis.Je dois faire un héritage de la classe TImage appellée TImageFille. Jusque là pas de problème je pense. Voici mon code:#ifndef Probleme avec certains #include ... [ par yudi ] Hello !Voila, cela fait plusieurs sources (récupérées sur le site) ke j'essaye de compiler sans succes, visiblement car la bibliotheque alakelle fait OPENGL -->mouvement avec souris ?? [ par sir51 ] bonjour, je voudrais effectuer un mouvement de camera avec la souris (dans le genre doom-like et autres !). helas, qd ma souris arrive sur l'exterieur video AVI-AVIFileOpen () [ par Pl_net ] Help j'ai un peu de mal avec cette fonction, elle doit me retourner 0 hors ce n'est pas la cas.Si quelqu'un peut m'aider ????#pragma hdrstop#include pb bind pour un serveur avec djgpp/gcc [ par Guillaume of IUT ] Salut à tous, j'ai un problème. Voici le code du serveur en C. C'est pratiquement l'exemple qui est livré avec les librairies tcp lsck073b. Le problem Fichier include "glut.h" [ par Ben0007 ] Hello,J'obtiens ce message d'erreur en compilant un exemple de programme trouvé sur ce site:"fatal error C1083: Cannot open include file: 'gl/glut.h': Probleme de string! [ par frdestroyers27 ] Bonjours a tous!j'ai un probleme que je n'arrive pas a resoudre et je ne trouve pas d'aide nul part pour ca! je vais mettre mon code en gros ca cherch Les chaines de caractère et biens d'autres problemes. Si vous voulez aider un nouveau ds l'art du C vous etes servi!!! [ par Lavieillefolle ] Voilà voilà j'ai écris un code, enfin g tanter d'écrire et comme vous allez le constater je ne possede aucune experience. Alors si vous pourriez résou probleme getch() + touches flechées du clavier [ par smirnoff ice ] Bonjour tout le monde.J'ai un petit souci, je suis débutant en c, et je n'ai pas trouver de solution pour remedier à ce problème.J'aimerai savoir comm ostream_withassign problème de syntaxe [ par balbeau ] Bonjour,j'ai un problème avec un prog C++ développé sous MS Visual C++ 6 mais je travaille avec Studio .NET 2003 (VC++ 7)j'ai le code suivant:void sen


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,530 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales