Risultati test lezione 7

  1. Passaggio di un oggetto Moto ad un metodo in C++(4)
    Viene consigliato di usare la dichiarazione
    const & Moto : perche'?
    Tutte queste affermazioni sono vere tranne una:
    10Per evitare che l'oggetto sia copiato prima di essere passato
    20La chiamata al metodo e' piu' veloce
    31 E' possibile modificare le proprieta' dell'oggetto passato
    1 1 193.204.188.67
    411E' possibile modificare il puntatore all'oggetto
    1 1 193.204.188.64
    2 1 193.204.188.62
    3 2 193.204.188.66
    4 1 193.204.188.61
    5 1 193.204.188.71
    6 1 193.204.188.63
    7 1 193.204.188.69
    8 3 151.38.85.161
    51E' lo stesso tipo di passaggio che si ha in Java
    1 1 193.204.188.59


  2. Polimorfismo in C++(1)
    Tutte le affermazioni che seguono sono vere tranne una:
    110E' possibile solo per un metodo astratto
    1 2 193.204.188.69
    2 2 193.204.188.67
    3 1 193.204.188.62
    4 1 193.204.188.61
    5 2 193.204.188.71
    6 1 193.204.188.66
    7 1 193.204.188.59
    22Solo un metodo dichiarato come virtual nella classe base , puo' essere polimorfico
    1 1 193.204.188.63
    2 1 193.204.188.64
    30Richiede il link dinamico
    40La chiamata del metodo polimorfico avviene attraverso una tabella di funzioni virtuali durante l'esecuzione
    50La chiamata al metodo polimorfico deve avvenire tramite puntatore


  3. Ereditarieta' in C++(5)
    Tutte queste affermazioni sono vere tranne una:
    10Superclasse::nome_metodo() richiama un metodo della superclasse
    20Superclasse() richiama il costruttore della superclasse
    30Una classe C++ puo' ereditare 0,1 o piu' superclassi
    40La possibilita' di ereditarieta' multipla rende inutile in C++ la necessita' di creare quelle speciali classi astratte dette Interface in Java
    511Il codice super() permette di richiamare il costruttore della prima superclasse nella lista delle classi ereditate
    1 1 193.204.188.59
    2 2 193.204.188.67
    3 1 193.204.188.62
    4 1 193.204.188.61
    5 1 193.204.188.66
    6 2 193.204.188.69
    7 1 193.204.188.63
    8 1 193.204.188.64
    9 1 193.204.188.71


  4. Quando un oggetto in C++ viene allocato nello stack(4)
    Tutte queste affermazioni sono vere tranne una:
    10L'accesso ai metodi dell'oggetto avviene con l'operatore . e non con la freccia ->
    28E' possibile creare un puntatore all'oggetto usando la funzione &
    1 1 193.204.188.62
    2 1 193.204.188.61
    3 1 193.204.188.59
    4 1 193.204.188.69
    5 1 193.204.188.66
    6 1 193.204.188.71
    7 1 193.204.188.64
    8 1 193.204.188.63
    30E' buona norma definire il distruttore, il costruttore di copia e il sovraccarico dell'operatore =
    42E' necessario liberare la memoria occupata dall'oggetto , quando questo non serve piu'
    1 2 193.204.188.67


  5. Puntatori in C++(3)
    Tutte queste affermazioni sono vere tranne una:
    11La stampa di un puntatore correttamente inizializzato a un valore diverso dal puntatore null produce un indirizzo in memoria
    1 1 193.204.188.62
    20 La dichiarazione int ***p indica un puntatore a un puntatore a un puntatore a un intero
    34a=*p++ se p punta a un elemento di un'array, ritorna il valore del prossimo elemento della stessa array
    1 4 193.204.188.67
    45Se p e' un vector< Moto *>::iterator allora (*p)->nome_metodo() permette di richiamare un metodo dell'oggetto Moto puntato dall'iteratore
    1 1 193.204.188.64
    2 1 193.204.188.71
    3 1 193.204.188.63
    4 1 193.204.188.69
    5 1 193.204.188.59
    57La scritta int * p = new int crea un intero nell'heap puntato da p
    1 6 193.204.188.61
    2 1 193.204.188.66


  6. Standard Template Library(STL)(2)
    Tutte queste affermazioni sono vere tranne una:
    10La Standard Template Library e' una libreria di algoritmi e strutture di dati di uso generale
    29La STL e' una delle librerie che C++ ha ereditato dal C
    1 1 193.204.188.67
    2 1 193.204.188.64
    3 1 193.204.188.61
    4 1 193.204.188.63
    5 1 193.204.188.71
    6 1 193.204.188.62
    7 1 193.204.188.66
    8 1 193.204.188.69
    9 1 193.204.188.59
    30La STL contiene parecchi tipi di contenitori generici come vector, map e relativi iteratori
    40Si consiglia l'uso di contenitori STL invece dell'array perche' piu' adatti alle necessita' della moderna programmazione ad oggetti
    50L'uso di un particolare contenitore STL richiede l'include dell'header file corrispondente: ad esempio include <vector>


  7. Programmazione generica in C++(1)
    Tutte queste affermazioni sono vere tranne una:
    14L'uso di una classe generica lista di interi viene fatto scrivendo : template<class int> lista a;
    1 1 193.204.188.71
    2 1 193.204.188.67
    3 1 193.204.188.69
    4 1 193.204.188.66
    20A differenza di Java dove l'esistenza di un oggetto genitore di tutti gli altri permette di scrivere classi e algoritmi generici usando Object, in C++ si usa il meccanismo dei template
    30 Possiamo trasformare un contenitore di interi in un contenitore generico sostituendo a int il parametro T in alcune zone di codice
    42La programmazione generica consiste nello scrivere il codice per un tipo generico T che viene sostituito col tipo prescelto all'atto della compilazione
    1 1 193.204.188.59
    2 1 193.204.188.61
    53La programmazione generica permette di definire nuovi tipi di contenitori in aggiunta a quelli gia' esistenti nella STL
    1 1 193.204.188.62
    2 1 193.204.188.64
    3 1 193.204.188.63


  8. Confronto tra Java e C++(2)
    Tutte queste affermazioni sono vere tranne una:
    12 Il C++ e' soggetto molto piu' di Java a problemi di intasamento di memoria (memory leak) perche' non esiste la garbage collection
    1 1 193.204.188.63
    2 1 193.204.188.64
    24Il codice C++ e' di solito piu' veloce di quello Java perche' e' compilato e non interpretato
    1 1 193.204.188.66
    2 1 193.204.188.67
    3 1 193.204.188.62
    4 1 193.204.188.69
    30Il C++ , a differenza di Java, permette di allocare un oggetto non solo nell'heap ma anche nello stack
    40Il C++ permette il sovraccarico degli operatori algebrici e logici, impossibile in Java
    54I programmi in C++ non sono di solito usati come applet all'interno del browser perche' avendo accesso normale alla CPU (non attraverso un interprete) possono danneggiare il computer su cui eseguono
    1 1 193.204.188.59
    2 1 193.204.188.61
    3 1 193.204.188.71
    4 1 193.204.188.66



Pagina curata da Giuseppe Zito: zito@ba.infn.it
ultimo aggiornamento: