|

É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)
|