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

 


Dernière réponse
Sujet : [C++] classe statique
sanglier04 mercie pour vont conseil, ya tout qui marche bien  , c cool :)

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
sanglier04 mercie pour vont conseil, ya tout qui marche bien  , c cool :)
BoB_Xygene Le singleton semble une solution propre.
 
mais d'aprés mes souvenirs les données statiques de la classe doivent étres preprototypées dans les fichiers d'implémentation ce qui gonfle sérieusement le travail.
 
arf langage quand tu nous tiens!
verdoux gcc me dit:
`static' can only be specified for objects and functions
BENB

Verdoux a écrit a écrit :

Ca existe les classes statiques ?




 
Je pense que c'est comme les fct statiques, elles ne sont visibles que depuis le fichier ou elles sont definies

sanglier04 mercie !
 
en me basant sur vos conseils voila ce que j'ai fait :
 
-> dans le fichier principale j'ai inclue un .h contenant le code que j'ai marquer ci dessus.
 
-> dans les autres fichiers j'ai inclue la definition des classes en mettant un extern devant.
 
ca marche bien, mais j'aimerais savoie si ma méthode est bonne ??
n0mad Il faut faire un singleton : c'est bien plus propre et evolutif, crois moi (sous-classe) :
 
* Constructeur protégé
* methode statique qui rend/crée l'unique instance de la classe

 

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

youdontcare yep bizarre j'ai jamais vu ça ... apparemment l'inclusion de ton .h dans chaque .cpp créé à chaque fois une nouvelle instance statique.
 
si tu veux partager des membres, tu peux les déclarer statiques au sein de la classe (ie static SOCKET s;).
 
si tu veux tout partager, créé une instance globale dans un .cpp et déclare là avec extern dans ton .h pour la partager avec le reste du projet.
verdoux Ca existe les classes statiques ?
sanglier04 voila, j'aimerais partager plusieurs variables et fonctions entre plusieurs fichiers, j'ai donc cree une classe statique :
 
 
static class VarGlobale  
{
private:
 
 SOCKET s;      
 
 SOCKET ConnectToServer ();
 
 int SendData (const char*, unsigned int);
 int RecvData (char*, unsigned int);
 
 
public:
 
 VarGlobale ();
 virtual ~VarGlobale ();
 
 BOOL TestConnexion ();
 
 char NomServeur  [LNOM_S+1],
  IpServeur  [LIP_S],
  BufferTabJoueur         [LBUFF_J],
  BufferJoueurLocal       [LBUFF_J/MAX_J],
  BufferTabEquipe         [LBUFF_E];
   
 struct hostent* hpClient;
 struct hostent* hpServeur;      
} Var;
 
j'inclue le fichier .h (ci dessus ) dans chacun de mes .cpp
 
le programme passe a la compilation sans erreures ni warning mais lors de l'execution je m'appercoie que les variables ne sont pas partager :(
 
est ce ma classe qui deconne ou faut'il faire d'une autre manière pour partager ses variables ??

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)