This is an old revision of the document!
La classe dérivée est une extension d'une classe de base. C'est une classe à laquelle on a ajouté des champs et des fonctions membres supplémentaires.
La classe dérivée hérite
de l'ensemble des fonctions membres et des champs définis par la ou les classes de bases. C'est pour cela que l'on parle d'héritage quand on parle de classes dérivées d'une autre classe.
La syntax pour déclarée une classe comme héritant d'une classe de base est la suivante :
class DerivingClass: public BaseClass { };
Cette définition indique que la classe DerivingClass
hérite de la classe BaseClass
et donc que l'ensemble des méthodes et des champs définis par la classe BaseClass
sont présents dans la classe DerivingClass
. Cependant, il faut faire attention, présent ne veut pas dire qu'ils sont accessibles dans la classe de base. Ainsi, nous avons les règles d'accessibilité suivantes pour les méthodes et les champs définis dans la classe de base.
Déclaration dans la classe de base | Accesibilité dans la classe dérivée |
---|---|
les champs ou méthodes déclarés public dans la classe de base | les champs et méthodes sont accessibles dans la classe dérivée |
les champs ou méthodes déclarés protected dans la classe de base | les champs et méthodes sont accessibles dans la classe dérivée |
les champs ou méthodes déclarés private dans la classe de base | les champs et méthodes ne sont pas accessibles dans la classe dérivée |