Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1270 connectés 

  FORUM HardWare.fr
  Programmation

  [C++] organisation du prog

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C++] organisation du prog

n°31655
sanglier04
Posté le 14-05-2001 à 21:32:04  profilanswer
 

lut tlm
 
voila, j'ai un (gros) problème sur l'organisation de mon prog :
 
il est composé de plusieurs fichiers (j'utilise les MFC) et je voudrai que chaque fichier puisse avoire accés a la même variable, en effet j'ai plusieurs fichier qui on besoin de savoire la valeurs de la meme variables.
 
voila comment j'ai proceder :
 
j'ai defini mes constantes et mes variables dans le fichier principale ( ex : essai.cpp) :
 
extern const unsigned short TAILLE = 10,
                            CONST2 =3000;
 
int var1;
char tab[TAILLE];
 
ensuite j'ai fais un fichier .h que j'ai integrer a chaque fichier (sauf le principal ) ex :  essaiDlg.cpp pour reprendre les MFC
 
extern const unsigned short TAILLE,
                            CONST2;
 
extern int var1;
extern char tab[TAILLE]   <= la ca bloque grave !
 
 
et voila la ligne extern char tab[TAILLE]  ne marche po, visual me dit qu'il ne peut cree le tableau car il ne connai po la taille  (enfin d'après ce que j'ai compris :) ) ca semble assez logique mais vue que j'ai po trouver de solution j'aimerais savoir comment vous proceder dans le ca ou plusieurs fichiers doivent acceder a la meme variable (en particulier un tableau, les types de base tel ke int fonctionne bien)
 
 
 :??:  :??:  :??:  :??:  :??:  :??:  :??:  :??:

mood
Publicité
Posté le 14-05-2001 à 21:32:04  profilanswer
 

n°31667
brascoo
Posté le 14-05-2001 à 22:29:58  profilanswer
 

Moi personnelement , je n'aime pas trop cette facon de programmer. Extern par ci , extern par la... moi pour partager des variables, je le fait par l'intermediaire d'une class , avec des prprietes statiques, et des observateurs sur ces proprite.  
Ainsi, lorsque je declare une instance de cette classe, je peux n'importe ou kestionner les propiete de la classe afin d'avoir les infos dont j'ai besoin...
 
Cela dit , c'est une solution comme une autre, mais bon, chacun ca facon... tout se defend !


---------------
Br@scoo...
n°31668
la viper
Posté le 14-05-2001 à 22:31:55  profilanswer
 

bien en fait, tu n'as pas le droit en C/C++ de mettre des variables (meme constante) entre les crochets d'un tableau pour definir sa taille. tout simplement parce qu'elle doit etre fixe  et c'est aussi une histoire de déclaration. Lors de la compilation, tes variables n'existent pas (meme les const) elle sont juste declarées. Hors si elles n'existent pas ton tableau ne pourra donc pas avoir de taille bien defini !
 
la solution utilisé en C pure et l'utilisation du #define
 
ex :  
#define TAILLE 15
 
extern char tab[TAILLE];
 
ton tableau sera defini avec 15 char (soit 15 octets)
 
si tu veux faire varier cette "TAILLE"
 
il va falloir allouer de la memoire dynamiquement à ton tab
 
int taille = 15;
soit char *tab = new char(taille);
soit char *tab = malloc(sizeof(char)*taille);
 
mais il faudra penser à liberer cette memoire
 
free(tab);
delete(tab);
 
suivant si tu passes par les methodes C ou C++ ..

n°31688
z51
Posté le 14-05-2001 à 23:23:09  profilanswer
 

Dans ton fichier h ne déclare pas une deuxième fois la taille du tableau.
 
Remplace
extern char tab[TAILLE]
par
extern char tab[];

 

[edit]--Message édité par z51--[/edit]

n°31711
sanglier04
Posté le 15-05-2001 à 09:20:44  profilanswer
 

brascoo a écrit a écrit :

Moi personnelement , je n'aime pas trop cette facon de programmer. Extern par ci , extern par la... moi pour partager des variables, je le fait par l'intermediaire d'une class , avec des prprietes statiques, et des observateurs sur ces proprite.  
Ainsi, lorsque je declare une instance de cette classe, je peux n'importe ou kestionner les propiete de la classe afin d'avoir les infos dont j'ai besoin...
 
Cela dit , c'est une solution comme une autre, mais bon, chacun ca facon... tout se defend !




 
c a dire que tu cree une classe avec des instances declarer en statique ? mais dès que tu vas cree un nouvel objet de cette classe (je suppose que tu cree un objet pour chaque fichier, non ?) , les variables vont être reinitialisé ,non ?
ya t'il une chose special a faire dans ton constructeur ?


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [C++] organisation du prog

 

Sujets relatifs
cherche 1 bon bouquin de prog sur...quelqu'un fait de la prog WINDOWS en C++
quel premier langage pour debuter en prog?Organisation d'un fichier MP3
[VB ou C/C++] comment demarrer un prog avant le crtl+alt+del de nt ?[VB ou C/C++] cacher un prog lors de son fonctionnement?
Pour les vieux de la prog sous MySQL et PHPProbleme de prog en HTML un peu d'aide svp
[C] Positionnement du texte dans la fenetre dos du prog....Executer un prog à partir d'une page HTML
Plus de sujets relatifs à : [C++] organisation du prog


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR