Bonjour a tous

Je cherche le moyen/syntaxe pour rendre une Variable Membre d'une class en Lecture Seule mais accessible en Lecture Ecriture pour les Fonction Membre de cette class.

Dans l'idéale, j'aurais aimé utiliser une syntaxe proche de celle ci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
class Object
{
  public :
    void MyFunction( int );
  public-ReadOnly : // <<<<<<<<<<<<<<<<<<<<<<<< j'invente a peine :p
    int MyVariable;
};
void Object::MyFunction( int val )
{
  this->MyVariable= val;
  // code ...
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
int main(int argc, char ** argv)
{
  Object MyObject;
  MyObject.MyFunction(512);
  std::cout<< "MyVariable = " << MyObject.MyVariable<< endl;// ok
  //MyObject.MyVariable= 1024;// ERROR !! Ecriture impossible
 
  return 0;
}
C'est donc ce public-ReadOnly qui me fait default...

Vous me direz, FACILE, utilise les accesseurs/mutateurs (setter/getter).
Oui! Mais c'est que je suis pas un mec facile Si au lieu d'avoir une variable de type int j'ai une structure/class. j'ai pas fini avec mes accesseurs/mutateurs. d'où mon probleme.

Pouvez vous m'aider, me conseiler, me diriger vers une piste ?

J'apprend le C++ depuis peu, mais j'ai des bases solides en C et en PHP(POO).



Merci pour l'interet que vous venez de me porter