std::string n'est pas dérivable publiquement. Comme tout les conteneurs de la STL, il n'ont pas été conçus pour être dérivables publiquement. La raison en est qu'ils ne disposent pas de fonctions virtuelles (tout le monde ne veut pas payer le coup de cet extra-pointer), et que du coup la dérivation publique n'a pas de sens (il n'est pas possible d'utiliser le polymorphisme).
[^] # Re: Boost ? c'est quoi ?
Posté par LupusMic (site web personnel, Mastodon) . En réponse à la dépêche Sortie de Boost 1.46. Évalué à 2.
std::string n'est pas dérivable publiquement. Comme tout les conteneurs de la STL, il n'ont pas été conçus pour être dérivables publiquement. La raison en est qu'ils ne disposent pas de fonctions virtuelles (tout le monde ne veut pas payer le coup de cet extra-pointer), et que du coup la dérivation publique n'a pas de sens (il n'est pas possible d'utiliser le polymorphisme).