- Membres virtuels statiques C++ ? (4 réponses )
Réponses
Trop de publicités?Non, car cela n’a aucun sens en C++.
Les fonctions virtuelles sont appelées lorsque vous disposez d’un pointeur/d’une référence à une instance d’une classe. Les fonctions statiques ne sont pas liées à une instance particulière, elles sont liées à une classe. C++ n’a pas de pointeurs vers la classe, il n’y a donc aucun scénario dans lequel vous pourriez appeler une fonction statique virtuellement.
Cela n’aurait aucun sens. L’intérêt des fonctions membres virtuelles est qu’elles sont distribuées en fonction du type dynamique de l’instance d’objet sur laquelle elles sont appelées. D’autre part, les fonctions statiques ne sont liées à aucune instance et sont plutôt une propriété de la classe. Cela n’a donc aucun sens pour eux d’être virtuels. Si vous le devez, vous pouvez utiliser un répartiteur non statique :
Usage: