Cours Langage C++ Héritage et polymorphisme

 Quelle dérivation utiliser ? ( qq. idées )

La dérivation publique s’utilise quand B est une sorte de A (AKO = A Kind Of) (B est un cas particulier de A)
La dérivation privée s’utilise quand B n’est pas une sorte de A, la classe dérivée B restreint les fonctionnalités de A, on veut alors tout masquer à l’utilisateur extérieur.
exemple : Une classe Pile est créé à partir d’une classe Tableau. On se sert d’un tableau pour gérer une pile, mais une pile n’est pas véritablement une sorte de tableau. On pourrait tout aussi bien utiliser une liste chainée pour gérer une pile, mais une pile n’est pas non plus une sorte de liste chaînée.

class Tableau { int *tab, nb; public : Tableau( int ); Tableau( const Tableau & ); ~Tableau( ); Tableau & operator = ( const Tableau & ); int & operator [ ] ( int ) ; int taille( ) { return nb ; } }
class Pile : private Tableau { int sommet; public : Pile( int n ) : Tableau( n ) { sommet = -1 ; } void empile( int e ) { (*this)[ ++sommet ] = e ; } int depile( ) { return (*this)[ sommet– ] ; } BOOL vide( ) { return sommet == -1 ; } BOOL plein( ) { return taille() == sommet ; } }

Cours gratuitTélécharger le cours complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *