Visualizzazione dei risultati da 1 a 7 su 7

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Ma non ti conviene definire un costruttore di copia anche per TipoPuntatore ?
    così poi nel costruttore di copia di Prova basta che fai

    codice:
    Prova::Prova(const Prova& da_copiare){
       mPuntatore = new TipoPuntatore(*da_copiare.mPuntatore);
    }

  2. #2
    Utente di HTML.it L'avatar di ing82
    Registrato dal
    Sep 2014
    Messaggi
    177
    TipoPuntatore è una classe astratta da cui derivo una famiglia di classi (Tipo1,Tipo2,Tipo3, ecc i cui dati membro sono solo alcuni double, per cui potrebbe andare bene quello che fa il compilatore per la copia).

    quindi in realtà dovrei correggere quanto ho scritto circa l'implementazione del costruttore di copia

    codice:
    Prova::Prova(const Prova& da_copiare)
    {
      //1) copio in un puntatore temporaneo il puntatore dell'oggetto da_copiare
      TipoPuntatore* puntatore_temporaneo=da_copiare.mPuntatore;
      //2) ricavo i dati puntati dal puntatore dato membro dell'oggetto che deve essere copiato
      TipoDatiDaCopiare dati_temporanei=puntatore_temporaneo->getDati();
      //3) ricavo il tipo di classe istanziata in Prova
      TipoPuntatore::Type temp_type=puntatore_temporaneo->getType();
      //4) creo l'istanza del dato membro puntatore del nuovo oggetto partendo dai dati ricavati mediante il puntatore temporaneo
      mPuntatore=Factory::makeTipoPuntatore(TipoDatiDaCopiare dati_temporanei, TipoPuntatore::Type temp_type);
    }
    Spero di essermi spiegato...

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.