Quelle est la différence entre la fonction virtuelle et le remplacement de fonction ?
Quelle est la différence entre la fonction virtuelle et le remplacement de fonction ?

Vidéo: Quelle est la différence entre la fonction virtuelle et le remplacement de fonction ?

Vidéo: Quelle est la différence entre la fonction virtuelle et le remplacement de fonction ?
Vidéo: Quelle est la différence entre une image reélle et virtuelle? Lumière et Optique 2024, Novembre
Anonim

Fonctions virtuelles ne peut pas être statique et ne peut pas non plus être un ami fonction d'une autre classe. Ils sont toujours définis dans la classe de base et outrepassé en classe dérivée. Il n'est pas obligatoire pour la classe dérivée de passer outre (ou redéfinir le fonction virtuelle ), dans ce cas la version de classe de base de fonction est utilisé.

De plus, quelle est la différence entre fonction virtuelle et fonction virtuelle pure ?

Le principal différence entre ' fonction virtuelle' et 'fonction virtuelle pure ' est-ce ' fonction virtuelle ' a sa définition dans le la classe de base ainsi que les classes dérivées héritant la redéfinissent. Les pure fonction virtuelle n'a pas de définition dans le classe de base, et toutes les classes dérivées héritant doivent la redéfinir.

Par la suite, la question est, qu'est-ce que le remplacement de fonction en C++ ? Remplacement de fonction C++ . Si la classe dérivée définit la même chose fonction tel que défini dans sa classe de base, il est connu sous le nom remplacement de fonction en C++. Il est utilisé pour réaliser le polymorphisme d'exécution. Il vous permet d'assurer une mise en œuvre spécifique de la fonction qui est déjà fourni par sa classe de base.

De même, les gens demandent, pourquoi utilisons-nous des fonctions virtuelles ?

Fonctions virtuelles sommes utilisé pour supporter " Run time Polymorphism". Quand le fonction virtuelle est appelé à l'aide d'un pointeur de classe de base, le compilateur décide au moment de l'exécution quelle version du fonction c'est-à-dire que la version de la classe de base ou la version de la classe dérivée remplacée doit être appelée. C'est ce qu'on appelle le polymorphisme d'exécution.

Pouvez-vous remplacer une fonction non virtuelle en C++ ?

En c++, tous les membres de la classe les fonctions sommes non - virtuel par défaut. Ils pouvez être fait virtuel en utilisant le virtuel mot-clé dans le fonction Signature. Comme indiqué ci-dessus si les fonction de la classe de base est fait virtuel puis le fonction de la classe dérivée ou enfant fonction avec le même nom peut remplacer la classe de base fonction.

Conseillé: