Accueil > Forum > > > > Class et Structure...
Class et Structure...
dimanche 15 octobre 2006 à 16:43:26 |
Class et Structure...

jojomillenium
|
Bonjour, J'ai un probleme! sinon je ne serai pas la :P J'explique: J'ai un fichier general.h dans lequel je declarai des structures, je les ai changé en class pour essayer une autre methode mais ca marche toujour pas: class VERTEX // Build our Vertex Structure { public: float x, y, z; // 3D coordinates float u, v; // Texture coordinates };
class QUAD // Build our Quads Structure { public: VERTEX vertex[4]; // Array of 4 vertices }; // Call it QUAD
class ETAGE // Build our Etage Structure { public: int numquads; // Number of Triangles in Floor QUAD* quad; // Pointer to array of Quads };
class FLOOR // Build our Floor Structure { public: int num_floors; ETAGE etage1; void DrawQuads(ETAGE& etage1); };
FLOOR floor1;
Et dans mon main.cpp j'inclue mon general.h et j'ai des fonctions tel que SetupWorld() {}(lit un fichier txt et rempli mon floor1 avec les infos des cubes a dessiner DrawQuads() {} (lis floor1 pour dessiner les cubes)qui utilise mon floor1... jusque la pas de souci ca marche, mais j'aimerai pourvoir avoir histoire de cleaner mon main.cpp un Display.cpp et un GestionFichier.cpp Je ne sais pas comment faire pour que ca marche! Car je déclarai mes fonctions comme ca void DrawQuads(FLOOR& floor1) dans mon Display.h et Display.cpp et dans mon main j'y fais appel en tapant DrawQuads(floor1) sans oublier d'inclure dans mon main le Display.h mais il me fait une erreur car il dis que FLOOR est indefini !
Qu'est ce qu'il faut que je fasse pour que ca marche?
Merci infiniment de m'aider
|
|
lundi 16 octobre 2006 à 08:43:17 |
Re : Class et Structure...

Renfield
|
as tu bien instancié floor1 ? FLOOR floor1 = new FLOOR();
perso, je pense que tu sera pas gagnant (coté perf) a utiliser des classes en lieu et place de struct...
Renfield Admin CodeS-SourceS- MVP Visual Basic
|
|
lundi 16 octobre 2006 à 09:37:44 |
Re : Class et Structure...

jojomillenium
|
Oui je l'ai bien instancié pourtant!
Comment dois je faire avec des struct alors? ou dois je definir les structures que j ai mentinonné plus haut? ou dois je créer mon FLOOR floor1 ? et comment mettre mes fonctions qui utilise floor1 dans d'autre cpp sans créer d'erreur de surdefinition ou de sous definition de ma structure?
Revoila la def de mes structures : typedef struct tagVERTEX // Build our Vertex Structure { float x, y, z; // 3D coordinates float u, v; // Texture coordinates } VERTEX;
typedef struct tagQUADS // Build our Quads Structure { VERTEX vertex[4]; // Array of 4 vertices } QUAD; // Call it QUAD
typedef struct tagETAGE // Build our Floor Structure { int numquads; // Number of Triangles in Floor QUAD* quad; // Pointer to array of Quads } ETAGE; // Call it ETAGE
typedef struct tagFLOOR // Build our Floor Structure { public: int num_floors; ETAGE etage1; }FLOOR;
FLOOR floor1;
et j'aimerai avoir 2 fonctions dans 2 autres cpp qui utilise floor1? Comment definir tout ca?
Merci beaucoup!
|
|
lundi 16 octobre 2006 à 13:09:55 |
Re : Class et Structure...

luhtor
|
Si tu définis un objet dans un .h, soit tu le définis static ou extern. => google pour les détails.
"FLOOR floor1 = new FLOOR();" => faux: FLOOR * floor1 = new FLOOR();
Pour ton probleme de définition. Des .h ne contiennent que des définitions. Si tu as des fonctions a faire, tu peux la définition dans le .h et l'implémentation dans un .cpp, c'est pourtant pas compliqué.
|
|
lundi 16 octobre 2006 à 14:11:54 |
Re : Class et Structure...

jojomillenium
|
Je sais, alors voila ce que j'avais histoire que tu comprenne que j'avais pas fait n importe quoi:
Dans General.h j'ai déclaré mes class comme ci dessus.
Dans main.cpp #include "General.h" #include "Display.h" DrawQuads(floor1);
Dans Display.h void DrawQuads(FLOOR& floor1);
Dans Display.cpp #include "Display.h" Void DrawQuads(FLOOR& floor1) { //mes truc utilisant floor1.etage1. ...ect }
Quest ce que j'ai fait de faux? Comme ca pour lui FLOOR nest pas bien defini, si je rajoute #include "General.h" dans mon Display.cpp il me dis qui a une erreur de sur defnitiion de FLOOR!
Merci pour votre aide
|
|
lundi 16 octobre 2006 à 14:26:30 |
Re : Class et Structure...

buno
|
Tu utilise le type FLOOR dans Display.h Or, ce type est défini dans General.h et n'est pas connu de Display.h Rajoute #include "General.h" dans Display.h et ça marchera tout de suite mieux Buno ---------------------------------------- L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai... Le site de mon mariage
|
|
lundi 16 octobre 2006 à 14:44:04 |
Re : Class et Structure...

jojomillenium
|
Comme je l'ai dis dans mon precedent message, si j inclue General.h dans mon Display.h y a erreur de sur definition!
|
|
lundi 16 octobre 2006 à 15:01:03 |
Re : Class et Structure...

gagah1
|
Dans le fichier General.h, encadre tes structures comme ceci: #ifndef GENERAL.H #define GENERAL.H ....... // mets ici tes declarations ....... #endif
Comme ça il n'y a plus de surdefinition quand tu rajoute "General.h" dans "Display.h"
|
|
lundi 16 octobre 2006 à 15:14:33 |
Re : Class et Structure...

jojomillenium
|
Ca c'est deja fait aussi! :P C'est pour ca que je suis la, c'est que j'ai pourtant deja tout essayé et que ca joue pas! tous mes .h ont les #ifndef ... etc
|
|
lundi 16 octobre 2006 à 16:02:34 |
Re : Class et Structure...

gagah1
|
Je vois que toutes tes classes n'ont pas de constructeur, alors pour configurer un objet en C++ il faut un constructeur.
|
|
Cette discussion est classée dans : class, cpp, structure, floor, floor1
Répondre à ce message
Sujets en rapport avec ce message
Alignement structure = class ? [ par NairodDorian ]
Bonjour,Suite a un article que j'ai lu sur le site de AMD (SOFTWARE OPTIMIZATION GUIDE FOR AMD64 PROCESSOR) qui est celui ci : http://developer.amd.co
problème d'éritage [ par panthere007 ]
Salut, Bon je vais essayer d'être clair mai avec l'héritage c'est pas facile précision ce code est programmer sous geany et compiler avec g++ excuser
compile à plusieurs fichiers [ par ntrvdonett ]
Bonsoir,Au risque de faire rire, j'ai un problème de compilation en mettant une class dans un fichier à part, je rame depuis deux heure pour rien, et
CPP - probleme structure contenant pointeur sur fonction [ par poueted ]
Bonjour tout le monde.J'ai une structure :struct Operation { BOOL (*op) (BOOL, BOOL); int rg_arg1, rg_a
[cpp,sql server]affichage de valeurs [ par zoot06 ]
Bonjour à tous,voila j'attaque une base de données dans sql server et je voudrais afficher les valeurs d'une colonne de type varchar(30), seulement, j
Erreur structure, redéfinition [ par unikaz ]
Bonjour à tous,Je me trouve (en tant que débutant) confronté à un problème que je n'arrive pas à résoudre (malgrès de longues recherches sur les forum
Intégration d'une DLL VB6 dans un projet CPP [ par guilleto ]
Bonjour à toutes et tous,Je développe un projet en C++ et je dois utiliser une DLL réalisée en VB6 !Je connais le nom de la DLL ainsi que le nom de la
structure des algorithmes [ par mokrissat ]
j'ai un exercice : Ecrire un algorithme qui demande un nombre de départ, et qui calcule sa factorielle.N.B: la factorielle de 8, notée 8!,vaut 1*2*3*4
Comment faire pour re_afficher un dialogue apres "RedrawWindow" API sous DEV cpp [ par LouisJean ]
louisjean dev cpp Bonjours a tous!Comment faire pour remontrer le dialogue "Mon_DIALOG" en API wind32 sous DEV
AXIS C++ / VS 2003 / WebServices [ par CSharpJSharp ]
Bonjour tout le monde ;J'utilise AXIS C++ (http://ws.apache.org/axis/cpp/download.html) qui me génère le source C++ (.cpp et .hpp) à partir d'un fichi
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Forum
RE : SAC A DOS RE : SAC A DOS par hadjkaddour
Cliquez pour lire la suite par hadjkaddour
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|