Les fonctions virtuelles pures sont une partie essentielle du modèle de programmation orienté objet de C. Ils permettent aux classes de définir des méthodes qui doivent être remplacées par des classes dérivées, forçant ainsi les classes dérivées à fournir des implémentations pour ces méthodes.
Lors de la déclaration d'une fonction virtuelle pure, il est courant de l'initialiser avec 0. Cela a a amené beaucoup à croire que cette initialisation est nécessaire pour définir l'entrée de la table virtuelle de la fonction sur NULL. Cependant, cette compréhension est incorrecte.
Le =0 à la fin d'une déclaration de fonction virtuelle pure n'est pas une initialisation. Au lieu de cela, c'est un indicateur syntaxique que cette fonction est purement virtuelle. C'est une conséquence des limitations lors du processus de conception du langage, comme l'explique Bjarne Stroustrup dans son livre "The Design & Evolution of C".
L'implémentation de fonctions virtuelles pures n'implique pas nécessairement de définir l'entrée de la table virtuelle sur NUL. En fait, Stroustrup déclare explicitement que cette approche n'est pas le meilleur moyen d'implémenter des fonctions virtuelles pures.
Alors, pourquoi 0 est-il utilisé pour les fonctions virtuelles pures ? La réponse réside dans la conception du langage plutôt que dans les besoins de mise en œuvre technique.
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!