Polimorfismo e passaggio parametri definizioni

di il
3 risposte

Polimorfismo e passaggio parametri definizioni

Ciao a tutti, pur avendo consultato molto materiale su internet non riesco a rispondere alle seguenti domande

"Spiegare la differenza tra passaggio dei parametri per valore, per riferimento con argomenti di tipo riferimento, e per riferimento con argomenti di tipo puntatore. "

"Descrivere i concetti di polimorfismo e di funzione virtuale."

Mi sembrano dei concetti difficili, qualcuno sa definirli?
grazie

3 Risposte

  • Re: Polimorfismo e passaggio parametri definizioni

    "Spiegare la differenza tra passaggio dei parametri per valore, per riferimento con argomenti di tipo riferimento, e per riferimento con argomenti di tipo puntatore. "
    
    //passaggio per valore
    int foo1(int a)
    {
        a++;
        return a;
    }
    
    //passaggio per riferimento con argomenti di tipo riferimento
    int foo2(int & a)
    {
        a++;
        return a;
    }
    
    //passaggio per riferimento con argomenti di tipo puntatore
    int foo3(int * a)
    {
        (*a)++;
        return *a;
    }
    
    int main()
    {
        int x = 3;
        int y = foo1(x);
        cout << x << " - " << y << endl;  //x = 3, y = 4
    
        y = foo2(x);
        cout << x << " - " << y << endl;  //x = 4, y = 4
    
        y = foo3(&x);
        cout << x << " - " << y << endl;  //x = 5, y = 5
    }
    
    riesci a distinguere la differenza?
  • Re: Polimorfismo e passaggio parametri definizioni

    Innanzi tutto grazie mille per la risposta
    ora è molto più chiaro, mi sembra di capire che gli ultimi passaggi di parametri producono lo stesso risultato, giusto?
  • Re: Polimorfismo e passaggio parametri definizioni

    Qual'è la differenza tra il primo e li altri due?
Devi accedere o registrarti per scrivere nel forum
3 risposte