User Tools

Site Tools


in204:cpp:syntax:class

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
in204:cpp:syntax:class [2019/10/10 10:13]
bmonsuez
in204:cpp:syntax:class [2022/11/18 10:50] (current)
Line 1: Line 1:
-====== La déclaration d'une classe ​======+====== Les classes en C++ ====== 
 + 
 +===== La déclaration d'une classe =====
  
 Une classe définissant un objet est défini comme une [[in204:​cpp:​syntax:​struct|structure]] contenant en plus des champs de la structure des fonctions membres. Une classe définissant un objet est défini comme une [[in204:​cpp:​syntax:​struct|structure]] contenant en plus des champs de la structure des fonctions membres.
Line 17: Line 19:
  
  
-====== Les membres d'une classe =====+===== Les membres d'une classe =====
  
 Les éléments membres d'une classe peuvent être : Les éléments membres d'une classe peuvent être :
Line 28: Line 30:
   * des définitions de fonctions membres et de champs statiques qui sont partagées par tous les objets étant instance de la même classe.   * des définitions de fonctions membres et de champs statiques qui sont partagées par tous les objets étant instance de la même classe.
  
-====== Accès aux éléments d'un objet =====+===== Accès aux éléments d'un objet =====
  
 Nous faisons la distinction entre les éléments qui sont propres à un objet instance d'une classe. Ces éléments sont : Nous faisons la distinction entre les éléments qui sont propres à un objet instance d'une classe. Ces éléments sont :
Line 46: Line 48:
  
  
-===== Accès aux fonctions membres et aux champs propres à l'​objet instance d'une classe =====+==== Accès aux fonctions membres et aux champs propres à l'​objet instance d'une classe =====
  
 Pour pouvoir accéder aux champs et aux fonctions membres d'un objet à l'​exception des champs et membres statiques de l'​objet,​ nous utilisons : Pour pouvoir accéder aux champs et aux fonctions membres d'un objet à l'​exception des champs et membres statiques de l'​objet,​ nous utilisons :
Line 82: Line 84:
 </​code>​ </​code>​
  
-===== Accès aux autres éléments définis dans la classe =====+==== Accès aux autres éléments définis dans la classe =====
  
 Pour accéder aux définitions de types présentes dans l'​objets,​ nous référençons ces éléments en préfixant le nom de l'​élément référencé par le nom de la classe suivit de ''::''​. Pour accéder aux définitions de types présentes dans l'​objets,​ nous référençons ces éléments en préfixant le nom de l'​élément référencé par le nom de la classe suivit de ''::''​.
Line 130: Line 132:
  
  
-===== Sections ''​private'',​ ''​protected''​ et ''​public''​ =====+==== Sections ''​private'',​ ''​protected''​ et ''​public''​ =====
  
-<code cpp> 
-class Triple 
-{ 
-public: ​ 
-    const int  
 Les mots clés ''​private'',​ ''​protected''​ et ''​public''​ modifient la visibilité des différents éléments dans une classe. Pour plus d'​informations,​ le chapitre détaille les différents niveaux [[in204:​cpp:​syntax:​public|d'​accessibilité aux champs et membres]] notamment dans le cadre de l'​héritage. Les mots clés ''​private'',​ ''​protected''​ et ''​public''​ modifient la visibilité des différents éléments dans une classe. Pour plus d'​informations,​ le chapitre détaille les différents niveaux [[in204:​cpp:​syntax:​public|d'​accessibilité aux champs et membres]] notamment dans le cadre de l'​héritage.
  
Line 176: Line 173:
 </​code>​ </​code>​
  
-====== Fonction membres ''​const''​ & objets modifiables ​ =====+===== Fonction membres ''​const''​ & objets modifiables ​ =====
  
 La classe ''​Point''​ précédemment définie introduit deux fonctions membres qui ne font que lire le contenu des champs ''​x''​ et ''​y''​ de l'​objet. Ces méthodes ne modifiant par l'​objet,​ il peut-être ajouter le qualificateur [[in204:​cpp:​syntax:​const|''​const''​]] à ces deux méthodes. La classe ''​Point''​ précédemment définie introduit deux fonctions membres qui ne font que lire le contenu des champs ''​x''​ et ''​y''​ de l'​objet. Ces méthodes ne modifiant par l'​objet,​ il peut-être ajouter le qualificateur [[in204:​cpp:​syntax:​const|''​const''​]] à ces deux méthodes.
Line 228: Line 225:
 </​code>​ </​code>​
  
-====== Le pointeur this ======+===== Le pointeur this ======
  
 Dans une fonction membre, le mot clé ''​this''​ désigne le pointeur faisant référence à l'​instance de l'​objet qui est à l'​origine de l'​appel de la méthode. Dans une fonction membre, le mot clé ''​this''​ désigne le pointeur faisant référence à l'​instance de l'​objet qui est à l'​origine de l'​appel de la méthode.
Line 237: Line 234:
 bool Value::​is_equal(const A& anotherValue) const bool Value::​is_equal(const A& anotherValue) const
 { {
-    return this->​m_value== anotherObject.m_value;​+    return this->​m_value == anotherObject.m_value;​
 } }
 </​code>​ </​code>​
Line 257: Line 254:
 </​code>​ </​code>​
  
-====== Différence entre ''​class''​ et ''​struct''​ =====+===== Différence entre ''​class''​ et ''​struct''​ =====
  
 En fait, les classes peuvent être définies soit en utilisant le mot-clé ''​struct''​ soit en utilisant le mot-clé ''​class''​. Si on utilise le mot clé ''​struct'',​ cela signifie que par défaut les champs et fonctions membres (que l'on appelle aussi méthodes) sont visibles de tous ([[in204:​cpp:​syntax:​public|public]]) tandis qu'ils ne sont visibles que des fonctions membres de la classe si on utilise le mot clé ''​class''​. En fait, les classes peuvent être définies soit en utilisant le mot-clé ''​struct''​ soit en utilisant le mot-clé ''​class''​. Si on utilise le mot clé ''​struct'',​ cela signifie que par défaut les champs et fonctions membres (que l'on appelle aussi méthodes) sont visibles de tous ([[in204:​cpp:​syntax:​public|public]]) tandis qu'ils ne sont visibles que des fonctions membres de la classe si on utilise le mot clé ''​class''​.
in204/cpp/syntax/class.1570702389.txt.gz · Last modified: 2019/10/10 10:13 by bmonsuez