[EDIT] Cette discussion est un fork de Relecture de code d'un jeu RPG afin d'éviter le mélange de débats tous deux intéressants. N'hésitez pas à continuer à répondre aux deux discussions séparément
Mais pourquoi diantre cacher (et non encapsuler parce que c'est une notion qui n'a rien à voir ici) les attributs d'une classe Position ???
Cette classe est absurde... je crois que ça s'appelle la maladie des getters...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 class Postition { public: Postition( const int x, const int y ); const int PosX() const { return m_x; } const int PosY() const { return m_y; } private: const int m_x; const int m_y; };
Ce code est à la fois plus simple, plus concis, plus maniable, et offre plus de possibilités.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 struct Position { int x, y; };
Un simple const Position suffit à avoir la même chose que ce que tu fais, sans nécessiter de modification de Position :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 const Position b {3, 3}; Position a {1, 1}; a = b; b = a;//! interdit par choix du programmeur, s'il fait ceci c'est une erreur d'inatention le compilo va le lui signaler.
Partager