Blog del corso di Programmazione (9 CFU) tenuto da Marco La Cascia presso l'Universita' di Palermo per il corso di laurea in Ingegneria Informatica e delle Telecomunicazioni. Tratta la programmazione a oggetti in Java.
martedì 3 gennaio 2012
Testo esercitazione 11
Come anticipato, eccovi il testo di una nuova esercitazione da svolgere in questi ultimi giorni di vacanza.
Nel secondo esercizio, la seguente dichiarazione (Studente.cpp):
Studente::Studente(std::string n, std::string c, std::string d, std::string cs):Persona(n,c,d),corsoDiLaurea(cs) {;}
mi da il seguente errore: http://msdn.microsoft.com/en-us/library/8d2yf0xw(v=vs.80).aspx
(sono con Visual studio express 2008).
Studente eredita da Persona che a sua volta ha un costruttore con tre parametri string. Sottolineo che in Studente non c'è alcuna funzione o classe nidificata che si chiama Persona.
Con queste poche informazioni e' impossibile dire dov'e' il problema. Pubblica il codice completo da qualche parte o inviamelo per email cosi' ci do un'occhiata.
Avrei una domanda per quanto riguarda il quarto esercizio. Per gli attori che fanno parte di un oggetto Film, va bene utilizzare un array statico di puntatori ad attori? In questo modo si potrebbe aggiungere un numero da 1 a 5 di attori e mettere a NULL gli elementi dell'array non occupati, facendo dei controlli se un elemento punta a NULL o meno nella funzione che stampa il cast.
Utilizzare un array di 5 puntatori (per statico immagino intendi "non dinamico" e non "static") e' certamente la soluzione migliore. Attenzione pero' che strutturando cosi' i dati della classe e' opportuno fornire costruttore di copie e distruttore (se conti di avere una classe riutilizzabile anche in altri programmi).
Nel secondo esercizio, la seguente dichiarazione (Studente.cpp):
RispondiEliminaStudente::Studente(std::string n, std::string c, std::string d, std::string cs):Persona(n,c,d),corsoDiLaurea(cs) {;}
mi da il seguente errore:
http://msdn.microsoft.com/en-us/library/8d2yf0xw(v=vs.80).aspx
(sono con Visual studio express 2008).
Studente eredita da Persona che a sua volta ha un costruttore con tre parametri string.
Sottolineo che in Studente non c'è alcuna funzione o classe nidificata che si chiama Persona.
Con queste poche informazioni e' impossibile dire dov'e' il problema. Pubblica il codice completo da qualche parte o inviamelo per email cosi' ci do un'occhiata.
RispondiEliminaQuesto commento è stato eliminato dall'autore.
RispondiEliminaAvrei una domanda per quanto riguarda il quarto esercizio.
RispondiEliminaPer gli attori che fanno parte di un oggetto Film, va bene utilizzare un array statico di puntatori ad attori? In questo modo si potrebbe aggiungere un numero da 1 a 5 di attori e mettere a NULL gli elementi dell'array non occupati, facendo dei controlli se un elemento punta a NULL o meno nella funzione che stampa il cast.
Utilizzare un array di 5 puntatori (per statico immagino intendi "non dinamico" e non "static") e' certamente la soluzione migliore. Attenzione pero' che strutturando cosi' i dati della classe e' opportuno fornire costruttore di copie e distruttore (se conti di avere una classe riutilizzabile anche in altri programmi).
RispondiElimina