Faire des membres d'une classe en "lecture seule" - C++ - Programmation
Marsh Posté le 30-06-2005 à 09:37:38
Code :
|
Marsh Posté le 30-06-2005 à 09:39:02
ou alors à la java, tous les membres en privés/protégés et des getters/setters (que des getters pour les membres en lecture seule)
Marsh Posté le 30-06-2005 à 09:42:06
un getter/setter en Java, ça protège queudalle si tu renvoies pas une copie.
Marsh Posté le 30-06-2005 à 09:52:22
Tiens, je viens de penser à un truc:
Code :
|
Marsh Posté le 30-06-2005 à 10:01:27
Taz a écrit : un getter/setter en Java, ça protège queudalle si tu renvoies pas une copie. |
Heuu le getter par définition il va envoyer une copie ou un const, sinon le setter ne sert à rien
Un peu
Quoi
Marsh Posté le 30-06-2005 à 10:02:22
ben non.
la const&, par forcément. Mais un const bien placé, ça peut le faire.
Marsh Posté le 30-06-2005 à 10:10:48
HelloWorld a écrit : Tiens, je viens de penser à un truc:
|
dans le principe, ca me dérange un peu de faire une référence sur une variable qui n'est pas encore initialisée, sinon, ouais, ca me plait
Edit : (c'était juste pour dire que j'aurais déclaré value_ avant de déclarer Value, quoi)
Marsh Posté le 30-06-2005 à 13:33:54
A ouais, genre en mettant la définition de la fontion accesseure dans la def de classe, comme ça, si j'ai bien retenu ma leçon, elle devient inline, et on a pas de perte en performances.
?
Sinon une question totalement nioubie par rapport au truc de HelloWorld : ça veut dire quoi " A() : Value(value_) " ? Value n'est pas une fonction alors pourquoi ces parenthèses ? Et les 2 points, c'est pour inclure une fonction dans une autre ? Ou bien ?
Marsh Posté le 30-06-2005 à 14:02:49
theredled a écrit : c'est pour inclure une fonction dans une autre ? Ou bien ? |
bien
c'est l'initialisation de la donnée Value comprise dans l'objet faite proprement (pour une référence, tu ne peux pas faire autrement)
Marsh Posté le 30-06-2005 à 17:03:15
bah, oui, tu peux aussi chainer les initialisations en les séparant par des virgules. Note qu'il est plutôt conseillé de réaliser les initialisations dans l'ordre de déclaration des membres de ta classe si tu ne veux pas avoir d'ennuis ...
Marsh Posté le 30-06-2005 à 01:24:02
Bien le bonsoir
Ma question : comment faire en sorte que des variables membres d'une classe ne soit accessibles qu'en "lecture seule" au reste du programme (!= private, != public) ?
Est-ce possible ou faut-il vraiment faire une fonction publique par variable privée pour pouvoir lire cette dernière ?
Bien le merci