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

  FORUM HardWare.fr
  Programmation
  C++

  Membres de classe

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Membres de classe

n°177544
LetoII
Le dormeur doit se réveiller
Posté le 17-07-2002 à 09:28:47  profilanswer
 

Je voulais savoir si les membre de classe privée c'était stadard ou seulement reconus par queques compilateur.
 
 
Ps: Ou les deux :D


Message édité par LetoII le 17-07-2002 à 11:55:04

---------------
Le Tyran
mood
Publicité
Posté le 17-07-2002 à 09:28:47  profilanswer
 

n°177547
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 17-07-2002 à 09:30:32  profilanswer
 

tu parles des membres définis comme suit ?

Code :
  1. class maclasse {
  2. private:
  3.    bool var1;
  4.    int var2;
  5. }


 
si c'est ça, c'est effectivement du C++ standard, reconnu par tous les compilateurs


Message édité par Harkonnen le 17-07-2002 à 09:30:46

---------------
J'ai un string dans l'array (Paris Hilton)
n°177558
LetoII
Le dormeur doit se réveiller
Posté le 17-07-2002 à 09:38:10  profilanswer
 

Harkonnen a écrit a écrit :

tu parles des membres définis comme suit ?

Code :
  1. class maclasse {
  2. private:
  3.    bool var1;
  4.    int var2;
  5. }


 
si c'est ça, c'est effectivement du C++ standard, reconnu par tous les compilateurs




Meu non, je parle de ça:

Code :
  1. class truc
  2. {
  3.    private:
  4.             static int Nombre;
  5. };


Message édité par LetoII le 17-07-2002 à 09:38:19

---------------
Le Tyran
n°177561
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 17-07-2002 à 09:40:50  profilanswer
 

letoII a écrit a écrit :

 
Meu non, je parle de ça:

Code :
  1. class truc
  2. {
  3.    private:
  4.             static int Nombre;
  5. };






 :heink:  
elle est ou la différence avec ce que je t'ai marqué, hormis la présence de static ?
static te permet de conserver la valeur de ta variable à travers toutes les instances de ta classe, c'est aussi du C++ standard...


---------------
J'ai un string dans l'array (Paris Hilton)
n°177571
LetoII
Le dormeur doit se réveiller
Posté le 17-07-2002 à 09:45:00  profilanswer
 

Y a une énorme différence conceptuelle, et une grosse différence d'implémentation.
Jusqu'à présent j'étais persuadé que les membre de classe(statique) était forcément publique, jusqu'à ce que je tante dans mettre un privé et que je vois que ça marchait effectivement.


---------------
Le Tyran
n°177574
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 17-07-2002 à 09:49:49  profilanswer
 

Oui, je parle pas de la différence conceptuelle, mais simplement je ne pense pas que le fait qu'une variable soit static l'oblige obligatoirement à être public.
 
Il s'agit juste d'autoriser ou d'interdire cette variable aux objets qui instancieront cette classe, donc à mon avis, static ou pas, c'est exactement la même chose, sauf que si tu la met en private, elle sera invisible lors de l'instanciation, sauf si tu écris des méthodes Get/Set


---------------
J'ai un string dans l'array (Paris Hilton)
n°177583
LetoII
Le dormeur doit se réveiller
Posté le 17-07-2002 à 09:54:16  profilanswer
 

Harkonnen a écrit a écrit :

Oui, je parle pas de la différence conceptuelle, mais simplement je ne pense pas que le fait qu'une variable soit static l'oblige obligatoirement à être public.
 
Il s'agit juste d'autoriser ou d'interdire cette variable aux objets qui instancieront cette classe, donc à mon avis, static ou pas, c'est exactement la même chose, sauf que si tu la met en private, elle sera invisible lors de l'instanciation, sauf si tu écris des méthodes Get/Set




 
Qu'est ce que tu entend par invisible à l'instanciation? :??:


---------------
Le Tyran
n°177626
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 17-07-2002 à 10:37:37  profilanswer
 

letoII a écrit a écrit :

 
 
Qu'est ce que tu entend par invisible à l'instanciation? :??:  




 
Prend cette classe :

Code :
  1. class maclasse {
  2. private:
  3.    static int var1;
  4. public:
  5.    void maclasse(int val);
  6.    int getvar(void);
  7. };
  8. void maclasse:maclasse(int val)
  9. {
  10.    var1 = val;
  11. }
  12. int maclasse::getvar(void)
  13. {
  14.    return var1;
  15. }
  16. int main(void)
  17. {
  18.    maclasse cl(5);
  19.    cout << cl.var1; //erreur
  20.    cout << cl.getvar(); // OK
  21.    return 0;
  22. }


 
la variable var1 est inaccessible à l'objet cl, tu es d'accord avec moi ? qu'elle soit static ou pas n'y change rien
je me suis mal exprimé, au lieu de dire invisible, j'aurais du dire inaccessble


---------------
J'ai un string dans l'array (Paris Hilton)
n°177630
LetoII
Le dormeur doit se réveiller
Posté le 17-07-2002 à 10:41:48  profilanswer
 

Normal, c juste que j'avais pas bien compris ce que tu voulais dire :D (par contre les méthode d'instance pour accéder à un membre de classe c pas top, mais on dire que ct par ce que ct un exemple ;) )


---------------
Le Tyran
n°177633
LeGreg
Posté le 17-07-2002 à 10:47:30  profilanswer
 

letoII a écrit a écrit :

 
Jusqu'à présent j'étais persuadé que les membre de classe(statique) était forcément publique,




ah bon? mais ou as-tu ete pecher cette idée?
 
LeGreg

mood
Publicité
Posté le 17-07-2002 à 10:47:30  profilanswer
 

n°177640
LetoII
Le dormeur doit se réveiller
Posté le 17-07-2002 à 10:53:46  profilanswer
 

legreg a écrit a écrit :

 
ah bon? mais ou as-tu ete pecher cette idée?
 
LeGreg




 
Je sais plus trop, j'ai du écouter une conversation d'une oreil distraite   :ange:  
 
Enfin, bon le mal est réparé maintenant.


Message édité par LetoII le 17-07-2002 à 10:53:57

---------------
Le Tyran
n°178320
Musaran
Cerveaulté
Posté le 18-07-2002 à 01:31:40  profilanswer
 

Tu mets ce que tu veux en private.
Membres de données, méthodes, typedefs, données statiques, enumérations, déclarations, héritage...
 
Si ça t'amuses, tu peux mettre le constructeur/destructeur , le constructeur de recopie ou l'opérateur d'affectation private.
Ça interdit à l'utilisateur d'instancier ou de copier ta classe.


---------------
Bricocheap: Montage de ventilo sur paté de mastic silicone
n°178348
LetoII
Le dormeur doit se réveiller
Posté le 18-07-2002 à 08:14:31  profilanswer
 

musaran a écrit a écrit :

Si ça t'amuses, tu peux mettre le constructeur/destructeur , le constructeur de recopie ou l'opérateur d'affectation private.
Ça interdit à l'utilisateur d'instancier ou de copier ta classe.




 
Et comment tu crois que j'ai fait ma classe de singleton template


Message édité par LetoII le 18-07-2002 à 08:14:39

---------------
Le Tyran

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

  Membres de classe

 

Sujets relatifs
[VB] Webbrowser. Comment instancier une classe ?y a un classe java qui permet de bosser sur des chemins ?
[C++] Pointeur de fonction sur membre d'une classe[VB] comment kon fè pour créer des classe de form ?!
[java] récupérer le path du fichier .class associé à une classe[PHP] script "membres" questions
[VC++] Comment atteindre la classe App depuis la View ?[CSS] Problème de classe :(
amelioration d'une section membres[VC++] Classe dans une DLL : fonctions virtuelles et erreur LNK2001
Plus de sujets relatifs à : Membres de classe


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