Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    46

    [c++] domanda noob sul polimorfismo

    Scusate ancora l'ignoranza, devo trovare un testo decente (magari se qualcuno me lo sa consigliare mi fa un gran piacere).

    La mia domanda riguarda l'aritmetica dei puntatori polimorfici. Se io ho:


    int * p;

    scrivendo

    p++;

    faccio puntare p ai quattro bytes successivi della memoria visto che un int è quattro bytes (o almeno credo). E fin qua tutto ok.

    Credo che lo stesso discorso valga per i puntatori a classi o strutture:

    struct struttura * p;

    p++;

    in questo modo faccio puntare all'area di memoria sizeof(struttura) dopo p.

    cosa succede però quando p punta per esempio ad una classe astratta? cosa significa in quel caso fare p++ visto che la grandezza del contenuto di p cambia a seconda di quello che punta?

  2. #2
    sizeof (struttura). Ma non ti preoccupare... tanto non puoi creare array di oggetti (per valore) polimorfici. Puoi creare invece array di puntatori ad oggetti polimorfici ed allora avrai un sizeof (struttura *) che e' equivalente a sizeof (void *) quindi anche a sizeof (struttura_derivata *).
    ;-)

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.