Membres de classe - C++ - Programmation
Marsh Posté le 17-07-2002 à 09:30:32
tu parles des membres définis comme suit ?
Code :
|
si c'est ça, c'est effectivement du C++ standard, reconnu par tous les compilateurs
Marsh Posté le 17-07-2002 à 09:38:10
Harkonnen a écrit a écrit : tu parles des membres définis comme suit ?
|
Meu non, je parle de ça:
Code :
|
Marsh Posté le 17-07-2002 à 09:40:50
letoII a écrit a écrit : Meu non, je parle de ça:
|
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...
Marsh Posté le 17-07-2002 à 09:45:00
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.
Marsh Posté le 17-07-2002 à 09:49:49
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
Marsh Posté le 17-07-2002 à 09:54:16
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?
Marsh Posté le 17-07-2002 à 10:37:37
letoII a écrit a écrit : Qu'est ce que tu entend par invisible à l'instanciation? |
Prend cette classe :
Code :
|
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
Marsh Posté le 17-07-2002 à 10:41:48
Normal, c juste que j'avais pas bien compris ce que tu voulais dire (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 )
Marsh Posté le 17-07-2002 à 10:47:30
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
Marsh Posté le 17-07-2002 à 10:53:46
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
Enfin, bon le mal est réparé maintenant.
Marsh Posté le 18-07-2002 à 01:31:40
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.
Marsh Posté le 18-07-2002 à 08:14:31
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
Marsh Posté le 17-07-2002 à 09:28:47
Je voulais savoir si les membre de classe privée c'était stadard ou seulement reconus par queques compilateur.
Ps: Ou les deux
Message édité par LetoII le 17-07-2002 à 11:55:04
---------------
Le Tyran