mapomapo
16-07-2007, 09:52
Salve ragazzi...
allora, partiamo con ordine: sto lavorando ad un progetto in c++ per l'esame di fondamenti di informatica 2, il tema d'anno è la "gestione di un cinema multisala".
Ho pensato a vari livelli di accesso, fatto tutte le varie classi, definito i metodi ecc...
ora, la cosa "strana" che mi è capitata è la seguente:
Ho una class amministratore con delle funzioni membro dichiarate...dato che il progetto serve a far vedere di saper fare quante più cose possibile ho deciso, quando si viene autenticati come administrator, di accedere alle funzioni secondo la seguente logica:
-il puntatore ad "amministratore" precedentemente dichiarato viene utilizzato per una chiamata alla new (admin = new amministratore; )
-accedo alle funzioni a run time (admin->funzione_membro());
-libero la memoria con "delete admin;"
La cosa strana è questa: se lascio dichiarato solo il puntatore all'inizio del main (amministratore *admin; ) e provo a chiamare una funzione membro come sopra funziona!!!!
io mi aspettavo qualcosa di differente come un errore di qualche tipo...ora mi chiedo:
-è capitato anche a voi??
-può essere una "agevolazione" del visual c++ 6.0 ? (nel senso che non appena vede la dichiarazione di un puntatore istanzia subito un oggetto e lo fa puntare?)
Grazie mille per l'attenzione,
Vito
allora, partiamo con ordine: sto lavorando ad un progetto in c++ per l'esame di fondamenti di informatica 2, il tema d'anno è la "gestione di un cinema multisala".
Ho pensato a vari livelli di accesso, fatto tutte le varie classi, definito i metodi ecc...
ora, la cosa "strana" che mi è capitata è la seguente:
Ho una class amministratore con delle funzioni membro dichiarate...dato che il progetto serve a far vedere di saper fare quante più cose possibile ho deciso, quando si viene autenticati come administrator, di accedere alle funzioni secondo la seguente logica:
-il puntatore ad "amministratore" precedentemente dichiarato viene utilizzato per una chiamata alla new (admin = new amministratore; )
-accedo alle funzioni a run time (admin->funzione_membro());
-libero la memoria con "delete admin;"
La cosa strana è questa: se lascio dichiarato solo il puntatore all'inizio del main (amministratore *admin; ) e provo a chiamare una funzione membro come sopra funziona!!!!
io mi aspettavo qualcosa di differente come un errore di qualche tipo...ora mi chiedo:
-è capitato anche a voi??
-può essere una "agevolazione" del visual c++ 6.0 ? (nel senso che non appena vede la dichiarazione di un puntatore istanzia subito un oggetto e lo fa puntare?)
Grazie mille per l'attenzione,
Vito