"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Quand est-il acceptable d’hériter des classes de la bibliothèque standard C++ ?

Quand est-il acceptable d’hériter des classes de la bibliothèque standard C++ ?

Publié le 2024-11-08
Parcourir:920

When is It Acceptable to Inherit from C   Standard Library Classes?

Extension de la bibliothèque standard C via l'héritage

Bien qu'il soit souvent supposé qu'hériter des classes de la bibliothèque standard C n'est pas souhaitable, il existe des exceptions notables .

Classes identifiables pour l'héritage

Déterminer si une classe de bibliothèque standard est destinée car l’héritage peut être un défi. Cependant, les directives suivantes peuvent fournir un aperçu :

  • Si la classe possède des méthodes virtuelles, elle est un candidat possible à l'héritage.
  • Des déclarations "amies" excessives indiquent des problèmes d'encapsulation, ce qui rend l'héritage moins approprié.
  • Les modèles doivent être envisagés pour la spécialisation plutôt que pour l'héritage.
  • Mécanismes basés sur des politiques, comme std::char_traits, suggèrent que l'héritage n'est pas prévu.

Exigences des classes dérivées

Lors de l'héritage des classes de la bibliothèque standard, le principe de substitution de Liskov (LSP) doit être appliqué. Un comportement observable, tel que la fonction what() dans std::exception, doit correspondre à la classe de base. La conformité à la norme est moins une préoccupation que l'exactitude dans ce contexte.

Conclusion

Bien que la norme elle-même manque de directives explicites sur l'extension de la bibliothèque standard, il est crucial de réfléchissez attentivement à l’utilisation prévue des classes et appliquez judicieusement les principes d’héritage.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3