Anonimo
Anonimo ha chiesto in Computer e InternetProgrammazione e Design · 1 decennio fa

virtual in c++?

In C++ è necessario dichiarare un metodo virtual, mentre in Java questa modalità è implicitamente forzata su tutti i metodi. Perché in C++ la dichiarazione virtual è opzionale? Questa modalità può provocare problemi semantici e/o di performance?

2 risposte

Classificazione
  • Anonimo
    1 decennio fa
    Migliore risposta

    il C++ non è un linguaggio totalmente ad oggetti come lo è java, è un linguaggio che accetta paradigmi diversi di programmazione..

    il fatto che un metodo sia dichiarato virtual o meno .. è lasciato a discrezione di chi implementa un dato software, perchè per design qualcuno potrebbe non voler dichiarare una determinata funzione come metodo, ma semplicemente come funzione .. (la funzione in una classe prende il nome di metodo se essa è dichiarata con virtual)

    dal punto di vista di performance, introduce un override all'interno delle call, in quanto per ogni classe che ha un metodo, il compilatore dovrà creare una virtual table per permettergli di richiamare l'oggetto corretto a runtime.. il che porta all'esecuzione di codice il cui compito è risolvere correttamente le chiamate attraverso la vt

  • 1 decennio fa

    no assolutamente....

    http://it.answers.yahoo.com/question/index?qid=200...

    se nn avete niente da fare:D rispondete:D

Altre domande? Fai una domanda e ottieni le risposte che cerchi.