Visualizzazione dei risultati da 1 a 10 su 17

Discussione: [C++] Classi

Visualizzazione discussione

  1. #3
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    1)
    codice:
    virtual void calcola_area();
    In questo caso devi fornire un'implementazione del metodo in sezione_type, in quanto potresti usare sezione_type come classe a se stante.
    codice:
    virtual void calcola_area()=0;
    In questo caso sei obbligato a dare un'implementazione della funzione nella classe derivata, in quanto il metodo è astratto.
    2)
    Si, in quel modo verrebbe richiamato sempre il metodo della classe base.
    Ricapitolando:
    codice:
    void calcola_area(); // richiama sempre metodo classe base a prescindere dalle derivate (static binding)
    virtual void calcola_area(); // richiama metodo classe derivata solo se presente. Se no metodo classe base (dynamic binding)
    virtual void calcola_area()=0; // occorre definire il metodo nelle classi derivate, altrimenti non compila. (dynamic binding)
    3) Le classi basi devono avere il distruttore dichiarato virtual, altrimenti il distruttore delle derivate non sarà invocato.
    Ultima modifica di shodan; 22-09-2015 a 13:20
    This code and information is provided "as is" without warranty of any kind, either expressed
    or implied, including but not limited to the implied warranties of merchantability and/or
    fitness for a particular purpose.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.