Quina diferència hi ha entre la funció virtual i la substitució de funcions?
Quina diferència hi ha entre la funció virtual i la substitució de funcions?

Vídeo: Quina diferència hi ha entre la funció virtual i la substitució de funcions?

Vídeo: Quina diferència hi ha entre la funció virtual i la substitució de funcions?
Vídeo: A Show of Scrutiny | Critical Role: THE MIGHTY NEIN | Episode 2 2024, Maig
Anonim

Funcions virtuals no pot ser estàtic i tampoc no pot ser amic funció d'una altra classe. Sempre es defineixen en classe base i anul·lat en classe derivada. No és obligatori per a classe derivada anul·lar (o redefinir el funció virtual ), en aquest cas, versió de classe base de funció s'utilitza.

A més, quina diferència hi ha entre la funció virtual i la funció virtual pura?

El principal diferència entre ' funció virtual' i 'funció virtual pura ' és alló ' funció virtual ' té la seva definició en el la classe base i també les classes derivades heretàries la redefineixen. El funció virtual pura no té definició en el classe base, i totes les classes derivades que hereten l'han de redefinir.

Posteriorment, la pregunta és, què és la substitució de funcions en C++? Anulació de la funció C++ . Si la classe derivada defineix el mateix funció tal com es defineix a la seva classe base, es coneix com anul·lació de la funció en C++. S'utilitza per aconseguir polimorfisme en temps d'execució. Us permet proporcionar una implementació específica del funció que ja proporciona la seva classe base.

Així mateix, la gent es pregunta, per què fem servir funcions virtuals?

Funcions virtuals són utilitzat per donar suport al "Polimorfisme en temps d'execució". Quan el funció virtual s'anomena mitjançant un punter de classe base, el compilador decideix en temps d'execució quina versió del fitxer funció és a dir, s'ha de cridar la versió de la classe base o la versió de la classe derivada anul·lada. Això s'anomena polimorfisme en temps d'execució.

Podeu anul·lar una funció no virtual en C++?

En c++, tots els membres de la classe funcions són no - virtual per defecte. Ells llauna ser fet virtual utilitzant el virtual paraula clau a funció signatura. Com s'ha dit més amunt si el funció de classe base es fa virtual aleshores el funció de classe derivada o infantil funció amb el mateix nom pot anul·lar la classe base funció.

Recomanat: