Maison > développement back-end > C++ > Pourquoi les constructeurs virtuels ne sont-ils pas possibles en C ?

Pourquoi les constructeurs virtuels ne sont-ils pas possibles en C ?

Barbara Streisand
Libérer: 2024-11-30 20:52:15
original
788 Les gens l'ont consulté

Why Are Virtual Constructors Not Possible in C  ?

Constructeurs virtuels en C : Démystifiés

Pourquoi la notion de constructeurs virtuels est-elle étrangère au langage de programmation C ? Cette question en a intrigué beaucoup, et il est temps de dévoiler la réponse à cette énigme.

Selon le pionnier du C Bjarne Stroustrup, un constructeur virtuel n'est conceptuellement pas réalisable car il contredit la nature de la création d'objets. Un appel virtuel est conçu pour gérer des situations dans lesquelles le type spécifique de l'objet appelé n'est pas entièrement connu. Cependant, la création d'objets nécessite la connaissance du type exact requis. Par conséquent, le but même d'un constructeur virtuel est en contradiction avec le mécanisme fondamental de construction d'objets.

Pour obtenir une fonctionnalité similaire, Stroustrup suggère une approche alternative qui imite le comportement d'un constructeur virtuel sans ses limitations inhérentes. Cette solution de contournement consiste à exploiter une méthode appelée « double répartition », qui permet une vérification de type pendant l'exécution.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal