oussama_hailoula
Messages postés7Date d'inscriptionmercredi 8 septembre 2004StatutMembreDernière intervention 7 mars 2006
-
5 mars 2006 à 10:22
oussama_hailoula
Messages postés7Date d'inscriptionmercredi 8 septembre 2004StatutMembreDernière intervention 7 mars 2006
-
7 mars 2006 à 16:17
Bonjour à vous toutes et tous ...
euh ... j'arrive pas à définir des structure et des classes dans un fichier d'en tête .. (j'utilise borland c++ 3.0) .. merci d'avance .. ciao
ctx_man
Messages postés285Date d'inscriptionmardi 28 décembre 2004StatutMembreDernière intervention20 janvier 20133 5 mars 2006 à 12:57
Salut !!
//includes des fonctions dont tu va avoir besoin
#include
...
//Les defines que tu va utiliser
#define PI 3.14f
...
//Les structures (le typedef c'est pour render "compatible" au language C)
typedef struct tag_Point
{
int X;
int Y;
...
} sPoint;
//Les class
class cPoint
{
private:
int X;
int Y;
...
public:
cPoint();
~cPoint();
...
};
//Prototypes des fonctions
int DistPoint(cPoint p1, cPoint p2);
...
Tu enregistre le tout dans un fichier .h (point.h par exemple)
Dans le .c/.cpp ou tu veux utiliser ces class/structures, .... tu fais
#include "point.h"
Si le .h n'est pas dans le meme repertoire que ton .c/.cpp tu doi indiquer le chemin complet ou relatif :
#include "c:\chemin\point.h" //sous windows
#include "/chemin/point.h" //sous Linux
Guillemouze
Messages postés991Date d'inscriptionsamedi 25 octobre 2003StatutMembreDernière intervention29 août 20136 5 mars 2006 à 20:36
petite précision : ton .h peut etre appelé plusieurs fois.
par exemple, si tu a plusieurs fois
#include "point.h"
dans des fichiers differents, a la compile de chaque fichier, il lira le fichier .h, mais au linkage, il te dira que la classe point est redefinie.
pour ce faire, tu as juste a mettre
#ifndef __POINT_H_
#define __POINT_H_
//ton code
#endif
dans ton header, comme ca, la premiere fois quil le lit, le "#ifndef" est faux, donc il declare ton header, et les fois suivantes, il ne le redeclare pas.