Maison > développement back-end > C++ > Pourquoi C n'a-t-il pas de constructeur virtuel ?

Pourquoi C n'a-t-il pas de constructeur virtuel ?

Mary-Kate Olsen
Libérer: 2024-11-18 07:23:02
original
923 Les gens l'ont consulté

Why Doesn't C   Have a Virtual Constructor?

C a-t-il un constructeur virtuel ?

Contrairement à d'autres langages, C ne fournit pas de constructeur virtuel. Cela a soulevé la question : pourquoi pas ?

Réponse du Créateur lui-même

Bjarne Stroustrup, le père de C, propose une explication perspicace :

"Un appel virtuel est un mécanisme permettant d'effectuer un travail à partir d'informations partielles. [...] Pour créer un objet, vous avez besoin d'informations complètes. [...] Par conséquent, un appel à un constructeur ne peut pas être virtuel."

Comprendre le concept

Essentiellement, les fonctions virtuelles permettent une liaison dynamique, permettant au code d'interagir avec des objets de différents types sans connaître leurs classes exactes. Cependant, la création d'un objet nécessite des informations précises sur le type à instancier, rendant un constructeur virtuel une impossibilité conceptuelle.

Approches alternatives

Malgré l'absence d'un constructeur virtuel, C propose des approches alternatives pour obtenir des fonctionnalités similaires. L'entrée FAQ de Stroustrup fournit le code pour une telle solution, démontrant comment accomplir le comportement souhaité sans constructeur virtuel.

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