Témoignage
 

Rubrique « Info »

 



Écrivez à AILES !



Retour vers programmation



Retour vers les questions C++
 


Questionnaire C++
Héritage privé

[AnnotatedC++], pp. 242


Franchement, l'héritage, je l'ai toujours utilisé "classiquement" pour enrichir les caractéristiques d'un objet... Ce qui était disponible ("public") "avant" le reste après héritage, enrichi éventuellement de nouvelles fonctionnalités!
Alors pourquoi se compliquer la vie avec l'héritage privé ?

A quoi sert l'héritage privé ?
(Réponses à toutes les questions de cette page)



Access specifier for a base class :

class B { /* ... */ } ;
class D1 : B { /* ... */ } (héritage de B public ou private ?)
struct D2 : B { /* ... */ } (héritage de B public ou private ?)
class D3 : public A, B, C { /* ... */ } ; (héritage de A, B, C public ou private ?)

(Réponses à toutes les questions de cette page)



Use of a static member of a base class
class B
{
public:
   static void f() ;
   void g() ;
};
class D : private B
{

   B* mem() { return this ; } // ok ? pas ok?

} ;
class DD : public D
{
   void h() ;
};
void DD::h()
{
   B::f() ; // ok ? pas ok?
   D::f() ; // ok ? pas ok?
   this->f() ; // ok ? pas ok?
   this->B::f() ; // ok ? pas ok?
   f() ; // ok ? pas ok?
   g() ; // ok ? pas ok?
}

(Réponses à toutes les questions de cette page)



Access Declaration
class B
{
public:
   int a ;
   void f() ;
   void g() ;
private:
   int b ;
   void g( int ) ;
protected:
   int c ;
};
class D : private B {
public:
   B::a ; // Qu'est-ce que cela permet ?
   B::b ; // Qu'est-ce que cela permet ?

   void f( int ) ;

   B::f ; // Qu'est-ce que cela permet ?
   B::g ; // Qu'est-ce que cela permet ?
protected:
   B::c ; // Qu'est-ce que cela permet ?
   B::a ; // Qu'est-ce que cela permet ?
} ;

(Réponses à toutes les questions de cette page)




               
 
Avertissement !
 
Décollage !  |  Présentation du site web "AILES"  | 
Infos générales  |  articles "Informatique"