Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2015
    Messaggi
    30

    [C++] Liste/Costruttori

    Ho un codice per realizzare una lista sequenziale in cui non riesco a comprendere alcuni dettagli dell'implementazione del costruttore.
    In particolare, nel pezzo di codice seguente, perché la necessita di specificare prima la funzione ListaSeq() e poi anche creaLista() ? non basterebbe soltanto il creaLista() ?

    codice:
    ListaSeq::ListaSeq(){
       creaLista();
    };
                          
    ListaSeq::~ListaSeq(){};
       
    void ListaSeq::creaLista(){
       primo = NIL;
       lunghezza = 0;
    };

  2. #2
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,590
    Crea lista è un metodo di istanza che puoi chiamare solo a partire da un oggetto. Senza un costruttore esplicito dovresti prima creare l'oggetto e poi chiamare manualmente creaLista (sempre tu possa farlo, ovvero sia pubblico).
    Cambia da così
    codice:
    ListaSeq a;
    ListaSeq *b = new ListaSeq();
    A così
    codice:
    ListaSeq a;
    a.creaLista();
    ListaSeq *b = new ListaSeq();
    b->creaLista();
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2015
    Messaggi
    30
    Quote Originariamente inviata da Scara95 Visualizza il messaggio
    Crea lista è un metodo di istanza che puoi chiamare solo a partire da un oggetto. Senza un costruttore esplicito dovresti prima creare l'oggetto e poi chiamare manualmente creaLista (sempre tu possa farlo, ovvero sia pubblico).
    Cambia da così
    codice:
    ListaSeq a;
    ListaSeq *b = new ListaSeq();
    A così
    codice:
    ListaSeq a;
    a.creaLista();
    ListaSeq *b = new ListaSeq();
    b->creaLista();
    Crealista() è il costruttore esplicito? Quindi nel primo pezzo di codice non è stato chiamato, mentre nel secondo è stato necessario farlo (se non si fosse impostato come avevo scritto).?

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 © 2024 vBulletin Solutions, Inc. All rights reserved.