Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Array Dinamici

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    5

    Array Dinamici

    Ho sviluppato un semplice programma per la gestione di una rubrica telefonica composta da
    cognome, nome e telefono utilizzando gli array dinamici.
    Nella classe Cstampa mi viene segnalato un errore su vett.
    Se il codice di stampa() lo copio nella classe principale ed elimino la classe Cstampa
    il codice funziona correttamente. Perchè mi segnala l'errore. vett dichiarata nella classe
    principale non è pubblica? e quindi vista da tutti?.
    Come posso risolvere il problema senza stravolgere il codice?
    Spero di essere stato chiaro.

    Grazie
    File allegati File allegati

  2. #2
    Utente di HTML.it L'avatar di minomic
    Registrato dal
    Nov 2010
    Messaggi
    635
    Ciao,
    la variabile vett è locale al metodo main della classe archivio, quindi non è accessibile da Cstampa. Per evitare di stravolgere il codice puoi semplicemente passare vett alla classe Cstampa tramite costruttore! In questo modo Cstampa non fa altro che ricevere da qualcuno (in questo caso il main) un Vector e stampare i suoi elementi.


  3. #3
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    5
    Quote Originariamente inviata da minomic Visualizza il messaggio
    Ciao,
    la variabile vett è locale al metodo main della classe archivio, quindi non è accessibile da Cstampa. Per evitare di stravolgere il codice puoi semplicemente passare vett alla classe Cstampa tramite costruttore! In questo modo Cstampa non fa altro che ricevere da qualcuno (in questo caso il main) un Vector e stampare i suoi elementi.

    Ok funziona, ma devo farti ancora una domanda. Perchè vett è locale? Il fatto che non abbia uno
    specificatore non la rende public?. In fondo gli attributi public delle classi posso referenziarli nel main.
    Non vale il viceversa?
    Grazie

  4. #4
    Utente di HTML.it L'avatar di minomic
    Registrato dal
    Nov 2010
    Messaggi
    635
    No: una variabile dichiarata e definita all'interno di un metodo, come fai tu con vett nel main, vive all'interno del metodo e non è accessibile dall'esterno.

    Visto che parli di specificatori di accesso, ecc. mi viene da pensare che tu confonda una variabile locale a un metodo (come il tuo vett) con un campo di una classe...

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    5
    Intendevo scrivere livello di visibilita (public/private) e non specificatore di accesso.
    Grazie ancora.

  6. #6
    Utente di HTML.it L'avatar di minomic
    Registrato dal
    Nov 2010
    Messaggi
    635
    Prego.

    P.S. Gli specificatori di accesso sono proprio quello! Link.

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.