Je cite papa Stroustrup : " Une classe dérivée possède, au minimum, les membres hérités de ses classes de base. En fait, elle en possède souvent davantage. Cela siginifie que nous pouvons affecter sans risque le pointeur d'un membre d'une classe de base à celui d'un membre d'une classe dérivée, mais pas le contraire. Cette propriété est souvent nommée contravariance. Par exemple :
Code :
- class text : public std_interface {
- public:
- virtual void print();
- }
- void (std_interface::*pmi)() = &text::print; // erreur
- void (text::*pmt)() = &std_interface::print; // ok
|
Message édité par Stroustrup-Junior le 21-07-2004 à 19:29:20