Partant de l’idée qu’il est souvent
plus facile d’adapter que de réinventer, le
principe d’héritage aussi appelé dérivation
permet de créer de nouvelles classes à partir
de classes déjà existantes, appelées
classes de bases ou classes mères.
Cet héritage permet de pouvoir réutiliser
l’ensemble des données et méthodes des
classes mères qui ne sont pas définies dans
la section private. Il bien évidemment possible d’ajouter
à cette classe fille de nouvelles données
et/ou méthodes ou même de surdéfinir
les méthodes des classes mères.
Voici la syntaxe du .hpp :
Classe maClasse1 : public
maClasse2 {
…ajout de données, ajout et/ou surcharge de
méthodes
}
Voici un exemple de surdéfinition de fonction dans
la classe dérivé :
Exemple :
class maClasse1 {
public:
void f1();
void f2();
protected:
int a;
};
class maClasse2 : public
maClasse1 {
public:
void f2( ); / / on surdéfinit la méthode f2
void f2 (int) // idem
void f3( ); // on ajoute une méthode
};
void maClasse2::f3( ) {
maClasse1 :: f2( ); // on appelle la fonction f2 mais non
pas de la classe fille, mais de sa classe mère
maClasse1 :: a = 12; // accès au membre a de la classe
mère
f1( ); // appel de f1 de la mère (elle n’a
pas été surchargée dans la classe fille)
f2( ); // appel de f2 de la classe fille
}
…